Passport-js如何创build自定义策略

我期待创造我自己的战略。

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

我看护照战略 ,但我不知道如何实施自己的战略。 任何人都可以解释吗?

你有两个select:

如果您有自定义的身份validation逻辑,则您并不需要创build自己的策略…您可以使用允许您构build此逻辑的passport-custom策略。 根据文件:

自定义身份validation策略通过您select的自定义逻辑来validation用户身份

除非你想实际构build一个你想要分发的策略(例如:OpenID的实现或类似的东西),否则我没有看到实施自己的策略的重点。

但是,实施自己的战略是实施护照战略抽象类。 我build议看看Github页面,而不是npm页面,因为它有更多关于如何起床和运行的信息。 基本上,要遵循的步骤有自己的策略是:

  1. 子类策略
  2. 通过在原型上定义authenticate()方法来实现身份validation(这里您将拥有自定义逻辑)。
  3. 调用其中一种扩展方法(.success,.fail,.pass,.redirect或.error)

最后你需要把它打包成一个npm模块,一旦你拥有了一切,你就可以在你的Node.js项目中使用自己的策略。

正如我所说,我认为你需要有一个很好的理由去实现自己的战略。 我会尝试护照的习俗 。