如何解决刷新令牌轮换和密码丢失
在我的 Web 应用程序中,我使用访问和刷新令牌来授权用户访问受保护资源,流程如下:
-
用户通过移动应用程序向提供其凭据的“身份验证/令牌”端点发送请求。服务器对用户进行身份验证并发出访问和刷新令牌。刷新令牌保存在白名单中,以便稍后在必要时撤销它。
-
访问令牌到期后,移动应用程序将刷新令牌发送到“/token/refresh”端点,提供刷新令牌。一个新的访问/刷新令牌对被创建,旧的刷新令牌失效,以这种方式实现令牌轮换。
现在的问题: 假设客户端刷新令牌但从未收到来自服务器的响应,因为网络丢失。 30 分钟后,客户端尝试再次刷新,但其令牌现在无效并且用户已注销。在 Oauth 实现中,我们可以为旧令牌设置一个时间,在此时间之后旧令牌将失效,如果发生任何问题,移动应用程序可以重新发送相同的刷新令牌。但我不认为这是一个解决方案,因为我们无法确定移动客户端何时会重试刷新令牌。它可能在几分钟、几小时或更糟甚至几天。 您如何解决这个问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。