【发布时间】:2020-06-13 17:30:30
【问题描述】:
我正在尝试获取向服务器发送发布请求的新访问令牌。我正在使用邮递员发送刷新令牌,处理此问题的函数在本段下方。服务器响应为 E_INVALID_JWT_REFRESH_TOKEN
async refresh({
request,
response,
auth
}) {
try {
const refresh_token = request.input('refresh_token')
const decrypted = Encryption.decrypt(refresh_token)
console.log(decrypted)
const token = await auth.generateForRefreshToken(refresh_token, true)
console.log('Token is',token)
return response.status(200).json(token)
} catch (error) {
return response.status(401).json(error)
}
}
如您所见,我解密了令牌,一切正常。也检查一下数据库,没问题。
显然我不是唯一遇到此错误的人,并且在 GitHub 中关闭了一个问题
更新:
这是我的配置/auth.js
jwt: {
serializer: 'LucidMongo',
model: 'App/Models/User',
scheme: 'jwt',
uid: 'email',
password: 'password',
options: {
secret: Env.get('APP_KEY'),
expiresIn: '60m',
}
},
【问题讨论】:
-
您能否分享一个示例项目,以便我重现该问题? (带配置,...)
-
@CrBast 是一个复杂的项目,但是,查看它的简单方法是向路由 /auth/refresh 发送 POST 请求 - 主体上带有变量 refresh_token - 调用方法 @来自 AuthController 的 987654323@
标签: access-token refresh-token jwt-auth adonis.js