【问题标题】:Using passport.js to connect a local strategy to another (Facebook, Twitter, Google, etc)使用 passport.js 将本地策略连接到另一个(Facebook、Twitter、Google 等)
【发布时间】:2013-01-13 03:04:36
【问题描述】:

我有一个 node.js 应用程序,它使用护照(使用修改后的本地护照作为登录策略)进行身份验证管理。我希望允许用户使用护照策略连接他们的社交网络帐户,但据我所知,现有的身份验证(在请求对象上)在创建新身份验证时会被覆盖。

我应该如何处理这个问题?

【问题讨论】:

    标签: node.js authentication express oauth passport.js


    【解决方案1】:

    当我应该使用 passport.authorize 时,我使用了 passport.authenticate!

    此处的文档:http://passportjs.org/guide/authorize/

    【讨论】:

      【解决方案2】:

      我为此创建了一个示例,请参阅https://github.com/fpp/drywall

      它允许将一个或多个社交帐户与本地策略用户关联,从社交帐户创建本地策略用户,以及从这些用户添加/删除社交帐户。

      目前已实现 twitter 和 github - 只需添加其他护照版本并调整代码示例以获得更多服务。

      示例使用 Node.js 0.8x、express 3.x 和主干.js - 包括来自 http://jedireza.github.com/drywall/ 示例项目的一些基本用户管理。

      附:我无法获得第二条路线(对于相同的社会服务)/授权与使用护照进行身份验证,如护照文件中所述。使用

      passReqToCallback: true
      

      改为在策略中为用户工作(参见示例了解更多信息)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-09
        • 2018-11-10
        • 2015-01-01
        • 2017-09-18
        • 2012-10-04
        • 2018-04-12
        • 2016-03-28
        • 2020-12-26
        相关资源
        最近更新 更多