ti-enxame.com

Como fazer autenticação com Node.js, Express e Mongoose?

Eu criei o aplicativo nodejs simples usando o nodejs + express. Agora eu quero fazer a autenticação do usuário. Quero realizar o manuseio da sessão usando o mangusto. Você pode dar um exemplo?

51
Erik

Alguns links úteis:

como implementar a autenticação de login no node.js

criando formulário de registro e login no node.js e no mongodb

Além disso, o gerenciamento de sessões não é feito pelo Mongoose, mas pelo connect-mongodb ou connect-redis. Você pode conferir um exemplo de como fazer o gerenciamento de autenticação e sessão do usuário em um aplicativo real aqui:

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

Outras explicações para esse aplicativo podem ser encontradas aqui: http://dailyjs.com/tag/lmawa ou http://dailyjs.com/2010/12/06/node-tutorial -5 /

48
alessioalex

Basta usar mongoose-auth por Brian Noguchi https://github.com/bnoguchi/mongoose-auth

É uma queda na solução da sua pergunta, é bem documentada e extensível.

EDITAR

mongoose-auth não é mais mantido. Se você precisar fazê-lo funcionar com versões mais recentes do mangusto (por exemplo,> v3.xx) e expresso (por exemplo,> v3.xx), aqui está um trecho de um arquivo package.json que estou usando atualmente na produção ( É hacky, mas funciona):

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

Eu você está iniciando um novo projeto não usa mongoose-auth, em vez disso, experimente passaporte . Oferece a mesma funcionalidade, é muito flexível, porém possui uma API diferente. Faz parte da estrutura locomotiva MVC e, como tal, é mantida ativamente.

14
alexandru.topliceanu

Publiquei um exemplo completo de um sistema de autenticação completo usando o mongoose + expressjs aqui, caso você queira dar uma olhada:

Página de login simples no nodejs usando express e passport com mongodb

5
David Oliveros