Как сделать аутентификацию с помощью Node.js, Express и Mongoose?

Я создал приложение simple nodejs с помощью nodejs + express. Теперь я хочу сделать аутентификацию пользователя. Я хочу реализовать обработку сеанса с помощью мангуста. Можете ли вы посоветовать несколько примеров?

Ответ 1

Некоторые полезные ссылки:

как реализовать login auth в node.js

создание формы регистрации и регистрации в node.js и mongodb

Также управление сеансом не выполняется Mongoose, а через connect-mongodb или connect-redis. Вы можете проверить пример использования прав пользователя и управления сеансом в реальном приложении:

https://github.com/alexyoung/nodepad/blob/master/app.js

Дальнейшие объяснения этого приложения вы можете найти здесь: http://dailyjs.com/tag/lmawa или http://dailyjs.com/2010/12/06/node-tutorial-5/

Ответ 2

Просто используйте mongoose-auth от Brian Noguchi https://github.com/bnoguchi/mongoose-auth

Это решение для вашего вопроса, оно хорошо документировано и расширяемо.

ИЗМЕНИТЬ

mongoose-auth больше не поддерживается. Если вам нужно заставить его работать с более поздними версиями mongoose (т.е. > v3.xx) и выражать (т.е. > V3.xx), вот отрывок из файла package.json, который я сейчас использую на производстве (он взломан но он работает):

"everyauth": "https://github.com/bnoguchi/everyauth/tarball/express3",
"mongoose-3x-types": "~1.0.5",
"mongoose-auth": "https://github.com/cbou/mongoose-auth/tarball/everymodule-fix",

I вы начинаете новый проект, не используйте mongoose-auth, а попробуйте passport, Он предлагает ту же функциональность, что он очень гибкий, однако он имеет другую апи. Он является частью структуры locomotive MVC и поэтому активно поддерживается.