我正在使用:
- 阿多尼斯 4.1.0,
- 智威汤逊计划,蒙戈德
注册和登录工作正常,注销失败authController.js
:
async logout ({ request, response, auth }) {
await auth.logout()//falls here
return response.send('success')
}
代码:"E_INVALID_METHOD">
消息:"E_INVALID_METHOD:JWT 方案未实现注销方法↵> 更多
细节:https://err.sh/adonisjs/errors/E_INVALID_METHOD">
状态: 500
这里可能出现什么问题?
auth.logout(( 仅适用于基于会话的身份验证。
对于 JWT,您需要撤销用户的刷新令牌**
**对于 jwt 方案,仅撤销刷新令牌,因为实际令牌 永远不会保存在数据库中
这是 Adonisjs 4.1 的注销方法
async logout({ request, response, auth }) {
const refreshToken = request.input('refreshToken');
if(!refreshToken){
// You can throw any exception you want here
throw BadRequestException.invoke(`Refresh Token missing`);
}
await auth
.authenticator('jwt')
.revokeTokens([refreshToken], true)
return response.send({status : 200, "message" : 'success'})
}