web-dev-qa-db-fra.com

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

J'ai fait une application nodejs simple en utilisant nodejs + express. Maintenant, je veux faire l'authentification des utilisateurs. Je veux réaliser la gestion de session en utilisant la mangouste. Pouvez-vous donner un exemple?

51
Erik

Quelques liens utiles:

comment implémenter l'authentification de connexion dans node.js

création d'un formulaire d'inscription et de connexion dans node.js et mongodb

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

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

Vous trouverez plus d'explications sur cette application ici: http://dailyjs.com/tag/lmawa ou http://dailyjs.com/2010/12/06/node-tutorial -5 /

48
alessioalex

Utilisez simplement mongoose-auth par Brian Noguchi https://github.com/bnoguchi/mongoose-auth

C'est une solution pour votre question, elle est bien documentée et extensible.

[~ # ~] modifier [~ # ~]

mongoose-auth n'est plus géré. Si vous devez le faire fonctionner avec des versions plus récentes de mangouste (ie> v3.x.x) et express (ie.> V3.x.x), voici un extrait d'un package.json fichier que j'utilise actuellement en production (c'est hacky 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",

I vous démarrez un nouveau projet n'utilisez pas mongoose-auth, essayez plutôt passeport . Il offre les mêmes fonctionnalités, il est très flexible, mais il a une API différente. Cela fait partie du cadre locomotive MVC et en tant que tel, il est activement maintenu.

14

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

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

5
David Oliveros