【发布时间】:2021-11-16 02:01:12
【问题描述】:
我正在开发一个使用 OAuth - 基于令牌的身份验证的应用程序。
考虑到我们有访问和刷新令牌,这就是流程的样子。
- API 调用 -> 拦截器附加访问令牌 -> api 返回 200
- API 调用 -> 拦截器附加过期的访问令牌 -> api 返回 401 -> 拦截器使用刷新令牌刷新令牌 -> 拦截器重试相同的请求 -> 返回 200
- API 调用 -> 拦截器附加过期的访问令牌 -> api 返回 401 -> 拦截器使用刷新令牌刷新令牌(刷新令牌 也过期了)->提示客人登录->客人登录-> 重试请求
这一切都很好 - 我正在考虑对其进行一些优化,即我不想调用 api 并等待 401 返回。 而是事先检查令牌是否过期,获取新的访问令牌,然后使用有效令牌调用 API。
这种使用 android 系统时间计算令牌到期的方法可能有效 - 但有时当用户更改 android 时间时可能会被误用。
想知道是否有更好的解决方案来避免基于android系统时间的时间到期问题。
【问题讨论】:
标签: android oauth-2.0 jwt access-token systemtime