2017-05-31 95 views
7

我期待创建自己的策略。Passport-js如何创建自定义策略

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

我看着passport-strategy,但我不理解如何实现我自己的策略。任何人都可以解释吗?

回答

8

你这里有两种选择:

如果你有一个自定义的逻辑进行身份验证,你并不真的需要创建自己的策略......你可以使用passport-custom策略,让你建立这个逻辑。根据该文件:的OpenID的实现或:

自定义的验证策略由您选择

除非你想真正构建要分发(如策略的定制逻辑验证用户身份类似的东西),我没有看到实施自己的战略的重点。

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

  1. Subclass策略
  2. 通过定义原型的身份验证()方法实现认证(在这里你将有你的定制逻辑)。
  3. 调用增强方法之一(.success,.fail,.pass,.redirect或.error)

最后,你需要收拾它作为一个NPM模块,一旦你在的地方,你的一切可以去你的Node.js项目中并且需要你自己的策略。

正如我所说,我认为你需要有一个很好的理由去实现自己的策略。我想试试passport-custom