【问题标题】:Simplest way to authenticate a user with express?使用 express 对用户进行身份验证的最简单方法?
【发布时间】:2011-10-12 07:10:20
【问题描述】:

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

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

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

我不熟悉身份验证,但对 node、express 和 redis 有点熟悉,所以希望不会有太大问题。

欢迎提出任何建议!

【问题讨论】:

    标签: session authentication node.js redis


    【解决方案1】:

    查看 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

    【讨论】:

      【解决方案2】:

      我不熟悉身份验证,但对 节点,快递和redis,所以希望它不会太多 问题。

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

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

      【讨论】:

      • OpenID 在 2014 年就死了,但是 oauth(它是为授权而设计的,但也可以用于身份验证)相当普遍。
      【解决方案3】:

      connect-auth是第三方认证的好选择。

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

      【讨论】:

        猜你喜欢
        • 2016-01-26
        • 2018-02-15
        • 1970-01-01
        • 2016-02-23
        • 2011-03-06
        • 2012-02-25
        • 2016-05-14
        • 1970-01-01
        • 2019-05-26
        相关资源
        最近更新 更多