Comment faire l’authentification avec Node.js, Express et Mongoose?

J’ai fait simple application nodejs en utilisant nodejs + express. Maintenant, je veux faire l’authentification de l’utilisateur. Je veux réaliser le traitement de session en utilisant la mongoose. Pouvez-vous conseiller un exemple?

Quelques liens utiles:

Comment implémenter l’authentification de connexion dans node.js

créer un formulaire d’inscription et de connexion dans node.js et mongodb

De plus, la gestion de session n’est pas effectuée par Mongoose, mais par connect-mongodb ou connect-redis. Vous pouvez consulter un exemple sur la façon de faire de l’authentification utilisateur et de la gestion de session dans une application réelle ici:

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

Vous trouverez d’autres explications pour cette application ici: http://dailyjs.com/tag/lmawa ou http://dailyjs.com/2010/12/06/node-tutorial-5/

Il suffit d’utiliser mongoose-auth par Brian Noguchi https://github.com/bnoguchi/mongoose-auth

C’est une solution de rechange à votre question, c’est bien documenté et extensible.

MODIFIER

mongoose-auth n’est plus maintenu. Si vous devez le faire fonctionner avec des versions plus récentes de mongoose (c.-à-d.> V3.xx) et express (c.-à-d.> V3.xx), voici un extrait d’un fichier package.json que j’utilise actuellement en production ( mais ça marche):

 "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", 

Si vous commencez un nouveau projet, n’utilisez pas mongoose-auth , essayez plutôt un passeport . Il offre les mêmes fonctionnalités, il est très flexible, mais il a un api différent. Cela fait partie du cadre MVC de la locomotive et en tant que tel, il est activement maintenu.

J’ai posté un exemple complet d’un système d’authentification complet utilisant mongoose + expressjs ici, au cas où vous voudriez jeter un coup d’oeil:

Page de connexion simple dans nodejs en utilisant express et passeport avec mongodb