【发布时间】:2016-01-01 16:32:36
【问题描述】:
Passport 似乎是简单身份验证的绝佳选择,不显眼且不难设置。我正在构建一个使用 JWT 进行身份验证的 MEAN 堆栈,因此我查看了 Passport JWT。然而,有几件事让我感到困惑。
1) 我是否正确假设 Passport JWT 仅用于验证请求,而不用于生成有效的 jwt?也就是说,它应该只用于验证令牌的存在吗?
2) passport.authorize 和 passport.authenticate 有什么区别?我什么时候应该使用另一种?
3) 我有 3 条路由用于身份验证相关事宜,login、signup 和 authenticate。
login 将检查用户电子邮件/密码组合是否存在并匹配,然后为客户端生成令牌。
signup 将检查以确保电子邮件不存在,然后为客户端生成令牌。
现在对于authenticate,这是我有点搞混的地方。如果我已经拥有login 和signup,我什至还需要authenticate 路由吗?如果有的话,似乎 authenticate 将是我为 JWT 策略传递给 passport.use 的函数,然后是 login 和 signup 以及可能添加的 verify_token 路由将是我唯一不受保护的路由,其中所有否则将致电passport.authenticate 或passport.authorize。
【问题讨论】:
标签: passport.js mean-stack jwt