使用express对用户进行身份验证的最简单方法是什么?

时间:2011-07-25 03:38:27

标签: session authentication node.js redis

我正在寻找使用node.js的express库注册和验证用户的最简单方法。我想将用户存储在redis数据库中。

我更愿意只使用express而不是额外的库。

此外,一旦用户通过身份验证。我应该如何进行仅存储与该用户相关的信息?也许用户的登录名将是redis db中的密钥,值是否是其他信息的数组?或者这不是一个好的解决方案?

我不熟悉身份验证,但对node,express和redis有一定的了解,所以希望不会出现太多问题。

欢迎任何建议!

3 个答案:

答案 0 :(得分:3)

查看EveryAuth。从我所看到的,它提供了最全面的解决方案,包括对密码,OpenID,OAuth,LDAP等的支持。您可以使用它并允许您的用户使用密码或许多不同的在线服务登录,包括twitter,facebook,linkedin等。

https://github.com/bnoguchi/everyauth

这是一个相当不错的视频教程,它将它与CouchDB集成:

http://nodetuts.com/tutorials/26-starting-with-everyauth.html https://github.com/pgte/nodetuts_26

答案 1 :(得分:2)

  

我不熟悉身份验证,但对此有一定的了解   节点,快递和redis所以它希望不会太多   问题

如果您真的想在数据库中存储商店密码,我认为您不应该这样做(见下文),您可以快速查看TJ's example to do authentication

我一直认为将密码存储在您(自己的)数据库中是个坏主意。 Stackoverflow的作者Jeff Atwood确实有一篇关于这个名为OpenID: Does The World Really Need Yet Another Username and Password?的非常有趣的文章。我建议你使用像openoverflow.com这样的系统,比如OpenID(facebook-connect等)。一个好的openid library可用,非常容易使用。

答案 2 :(得分:1)

connect-auth是第三方身份验证的不错选择。

如果您打算自己编写,请参阅this thread以获取示例