我正在处理访问令牌过期的工作流,当服务器端返回访问令牌过期时,我存储客户端请求并使用刷新令牌刷新访问令牌。但是今天我发现服务器端的返回有点不同。它告诉我访问令牌无效。那么访问令牌过期和无效有什么区别呢?我没有换代币。令牌过期很久会自动失效吗?返回无效时是否应该刷新访问令牌?
aiqt4smr1#
服务器端应该返回一个带有401状态代码的一般错误。类似这样的事情,甚至可能是由令牌撤销引起的。客户端不应该知道401的确切原因。API应该只为这些原因返回401,而不是其他失败。
{ "code": "unauthorized", "message": "Missing, invalid or expired access token" }
当客户端在API响应中获得401时,它应该尝试刷新访问令牌,然后重试API请求。此操作应仅执行一次。如果刷新尝试失败,请重定向用户以重新进行身份验证,之后客户端将收到一组新的令牌。
1条答案
按热度按时间aiqt4smr1#
服务器端应该返回一个带有401状态代码的一般错误。类似这样的事情,甚至可能是由令牌撤销引起的。客户端不应该知道401的确切原因。API应该只为这些原因返回401,而不是其他失败。
当客户端在API响应中获得401时,它应该尝试刷新访问令牌,然后重试API请求。此操作应仅执行一次。如果刷新尝试失败,请重定向用户以重新进行身份验证,之后客户端将收到一组新的令牌。