bar*_*dog 9 jwt mean-stack passport.js
Passport似乎是简单身份验证的一个很好的选择,不引人注目且不易设置.我正在构建一个使用JWT进行身份验证的MEAN堆栈,因此我查看了Passport JWT.然而,有一些我很困惑的事情.
1)假设Passport JWT仅用于验证请求,而不是用于生成有效的jwt,我是否正确?也就是说,它是否应仅用于验证令牌的存在?
2)passport.authorize和之间有什么区别passport.authenticate?我何时应该使用另一个?
3)我有3条路线我使用的身份验证相关事宜,login,signup,和authenticate.
login将检查用户电子邮件/密码组合是否存在并匹配,然后为客户端生成令牌.
signup将检查以确保电子邮件尚不存在,然后为客户端生成令牌.现在,authenticate这是我有点混淆的地方.authenticate如果我已经拥有login并且我还需要一条路线signup吗?如果有的话,似乎authenticate将是我passport.use为JWT策略传递的功能然后login并且signup可能添加verify_token路线将是我唯一的无保护路线,其他一切将调用passport.authenticate或passport.authorize.
passport.authorize,所以我相信passport.authenticate你正在寻找.passport.authenticate您将在路由中使用以验证传入请求是否具有JWT令牌并且是允许的.login和signup,authenticate是多余的和不必要的.只需确保passport.authenticate在路由中使用以验证请求期间的访问权限.这里要记住的一般设置步骤是:
"Authorization: JWT eyJ0eXAiO..."在后续请求的header()中出现passport.authenticate通过标头中的JWT令牌验证对传入请求的访问,例如:router.post('/users', passport.authenticate('jwt', {session: false}), function(req, res) {
// do something...
});Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2045 次 |
| 最近记录: |