我正在尝试获取一个新的访问令牌,将令牌发送后请求到服务器。我使用邮递员发送刷新令牌,而处理此问题的功能在本段中。服务器响应为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中已解决问题的人
+
字符有问题。此字符的错误在查询字符串上很常见。如果记录refresh_token
的结果,您可能会注意到+
字符被空格替换。
[query-string
的示例:
query-string
输出(var query = queryString.stringify({
refresh_token:
"74f7c7e26621d231feb39c4a9c6a76bajOKUVX+J3LG/f4hJQzy3+hgL+p2w0VkRRw6xT/NnVxUofjh/zRVJJyuwGEfoCL+l"
});
):
query