如何刷新访问令牌而不必再次使用OAuth2进行身份验证过程?
现在,如果获取用户失败,我将刷新令牌,但是要执行刷新令牌,我必须首先收到401未经授权的错误。
当我无法执行请求后收到401时,我重定向到登录屏幕,因为如果不重定向到登录屏幕,后续请求将不会显示。
如果我使用了过期时间,则令牌不会在没有先执行请求的情况下刷新,但是到发出请求时,令牌已经过期。
我要问的是刷新访问令牌应使用的逻辑,这样,每次令牌过期且需要其他身份验证时,我的应用就不会注销。
我希望我的应用能够像Facebook或google一样正常运行,直到您注销为止。
提前感谢。
您能告诉我您使用的是哪种类型的应用程序和技术堆栈吗?
有两次:
访问令牌生存期-短暂的API凭据(例如60分钟)
用户会话生存期(通常由刷新令牌表示-例如12小时)
[有一些机制可以在客户端无提示地更新令牌。一般方法是获取新令牌,并由于访问令牌过期而在收到401时重试API调用:https://github.com/gary-archer/authguidance.websample.final/blob/master/spa/src/plumbing/api/httpClient.ts
如何获得新令牌取决于应用程序的类型(基于移动/ SPA /基于cookie的Web应用程序)