【问题标题】:Passport-js How to create a custom strategyPassport-js 如何创建自定义策略
【发布时间】:2017-10-31 20:16:03
【问题描述】:

我希望制定自己的策略。

我有client_idclient_secret 和相关的元数据。我也知道执行流程。所以我想创建自己的策略并添加我的自定义逻辑以进行身份​​验证。

我查看了passport-strategy,但我不明白如何实施我自己的策略。谁能解释一下?

【问题讨论】:

    标签: javascript node.js authentication oauth-2.0 passport.js


    【解决方案1】:

    这里有两个选择:

    如果您有自定义的身份验证逻辑,您实际上不需要创建自己的策略...您可以使用passport-custom 策略,它允许您构建此逻辑。根据文档:

    自定义身份验证策略通过您选择的自定义逻辑对用户进行身份验证

    除非您想实际构建一个您想要分发的策略(例如:OpenID 的实现或类似的东西),否则我认为实施您自己的策略没有意义。

    但是,实施您自己的策略包括实施护照策略抽象类。我建议查看 Github 页面而不是 npm 页面,因为它包含有关如何启动和运行的更多信息。基本上,拥有自己的策略要遵循的步骤是:

    1. 子类策略
    2. 通过在原型上定义 authenticate() 方法来实现身份验证(在这里您将拥有您的自定义逻辑)。
    3. 调用一种增强方法(.success、.fail、.pass、.redirect 或 .error)

    最后,您需要将它打包为一个 npm 模块,一旦您准备好一切,您就可以在您的 Node.js 项目中使用您自己的策略。

    正如我所说,我认为您需要有充分的理由来制定自己的策略。我会试试passport-custom

    【讨论】:

      猜你喜欢
      • 2015-07-20
      • 2014-10-12
      • 1970-01-01
      • 2012-04-10
      • 2018-03-02
      • 2017-01-08
      • 1970-01-01
      • 2020-12-16
      • 2021-03-15
      相关资源
      最近更新 更多