【发布时间】:2017-11-12 17:52:29
【问题描述】:
我正在按照本教程在我的 express API 中启用 jwt 身份验证。 https://jonathanmh.com/express-passport-json-web-token-jwt-authentication-beginners/
如果我使用标准的用户名/密码身份验证,我可以使用 JwtStrategy 来验证我在请求标头中收到的 JWT 令牌。 jwt.sign() 发生在用户 ID 和密码上。所有这些都可以正常工作。
当我尝试修改此代码以验证来自 OpenID Connect 的 id_token(使用 RS256 签名的 JWT 令牌)时,无论如何我都会得到 401 Unauthorized。我尝试在 JwtStrategy 方法中进行调试,看起来请求甚至没有进入该函数。这个 id_token 似乎比使用 HS256 算法签名的要长得多。
一个简单的 passport.authenticate 调用 app.get('/callback', passport.authenticate('jwt', { session: false }), function(req, res, next) { });
有人可以解释为什么它甚至无法识别我的令牌吗?
【问题讨论】:
标签: node.js express jwt passport.js openid-connect