我希望制定自己的策略。
我有 client_id
、client_secret
和相关的元数据。我也知道执行流程。所以我想创建自己的策略并添加我的自定义逻辑以进行身份验证。
我看了passport-strategy ,但我不明白如何实现我自己的策略。谁能解释一下?
最佳答案
这里有两个选择:
如果您有自定义的身份验证逻辑,您实际上不需要创建自己的策略...您可以使用 passport-custom策略允许您构建此逻辑。根据文档:
The custom authentication strategy authenticates users by custom logic of your choosing
除非您想实际构建一个您想要分发的策略(例如:OpenID 的实现或类似的东西),否则我认为实现您自己的策略没有意义。
但是,实现您自己的策略包括实现 Passport 策略抽象类。我建议查看 Github页面而不是 npm 页面,因为它包含有关如何启动和运行的更多信息。基本上,拥有自己的策略要遵循的步骤是:
- 子类策略
- 通过在原型(prototype)上定义 authenticate() 方法来实现身份验证(在这里您将拥有您的自定义逻辑)。
- 调用一种增强方法(.success、.fail、.pass、.redirect 或 .error)
最后,您需要将它打包为一个 npm 模块,一旦您准备好一切,您就可以在您的 Node.js 项目中使用您自己的策略。
正如我所说,我认为您需要有充分的理由来制定自己的策略。我会尝试 passport-custom .
关于javascript - Passport-js 如何创建自定义策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44277756/