【发布时间】:2020-01-30 13:21:01
【问题描述】:
我正在尝试将我的应用从 auth0 迁移到 auth0-spa.js。我已经让它几乎可以工作了,而且这个新库的代码肯定更简单,所以我想继续使用它,但我还需要一个有效的 jwt 令牌作为后端。
我在我的节点服务器上使用以下中间件 (express-jwt)
export const jwtCheckMiddleware = jwt({
secret: '....',
getToken: function (req) {
if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') {
return req.headers.authorization.split(' ')[1];
}
},
issuer: `https://${environment.auth.auth0Domain}/`,
algorithm: 'RS256'
});
以前我会从 auth0 传递 idToken 并且它有效。现在我通过await auth0.getTokenSilently() 获得了一个令牌,但是将它传递给中间件会给我“jwt malformed”。
如何从 auth0-spa.js 获取有效的 JWT 令牌?另外,我将如何确保我传递给中间件的令牌永不过期?
【问题讨论】:
-
当我认为您的意思是访问令牌时,您提到了 ID 令牌。你能打印 getTokenSilently() 函数的结果并在网站 jwt.io 上验证它吗?
标签: auth0