如何解决我们应该更新刷新令牌和访问令牌吗?
假设成功登录后,我们将传递用户短期访问令牌(15 分钟)和长期刷新令牌(7 天)。
在第 7 天,用户处于我们应用中的某些业务逻辑的中间,并且他的刷新令牌过期。因此,如果刷新令牌过期,他将在我们的应用中进行一些业务时退出。
那么如何避免这种情况呢? 我们应该以某种方式更新令牌吗?
解决方法
会话过期是您需要编码的标准行为,因为刷新令牌不能也不应该永远持续。
如果用户让浏览器运行一整夜,然后在第二天早上返回应用程序,这种情况在工作设置中很常见。该逻辑通常包括以下步骤:
- 令牌刷新返回错误代码为“invalid_grant”的错误,应用程序可以检查该错误代码
- 然后,应用必须重定向用户以重新进行身份验证,然后他们才能继续工作
- 在重定向之前,应用存储用户的应用位置和当前页面状态,例如在会话存储中
- 重定向后应用恢复位置和页面状态
即使用户正在提交表单,这也有效。一个警告是,您当然不应该在 UI 存储中保存信用卡号等高安全性字段 - 因此用户在登录返回后需要重新输入这些值。
您可以很容易地实现这一点,例如在 this sample code of mine 中,这可能会为您自己的解决方案提供一些想法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。