如何刷新令牌而不必再次通过auth? OAuth2

问题描述 投票:0回答:1

如何刷新访问令牌而不必再次使用OAuth2进行身份验证过程?

现在,如果获取用户失败,我将刷新令牌,但是要执行刷新令牌,我必须首先收到401未经授权的错误。

当我无法执行请求后收到401时,我重定向到登录屏幕,因为如果不重定向到登录屏幕,后续请求将不会显示。

如果我使用了过期时间,则令牌不会在没有先执行请求的情况下刷新,但是到发出请求时,令牌已经过期。

我要问的是刷新访问令牌应使用的逻辑,这样,每次令牌过期且需要其他身份验证时,我的应用就不会注销。

我希望我的应用能够像Facebook或google一样正常运行,直到您注销为止。

提前感谢。

authentication oauth oauth-2.0 basic-authentication
1个回答
0
投票

您能告诉我您使用的是哪种类型的应用程序和技术堆栈吗?

有两次:

  • 访问令牌生存期-短暂的API凭据(例如60分钟)

  • 用户会话生存期(通常由刷新令牌表示-例如12小时)

[有一些机制可以在客户端无提示地更新令牌。一般方法是获取新令牌,并由于访问令牌过期而在收到401时重试API调用:https://github.com/gary-archer/authguidance.websample.final/blob/master/spa/src/plumbing/api/httpClient.ts

如何获得新令牌取决于应用程序的类型(基于移动/ SPA /基于cookie的Web应用程序)

© www.soinside.com 2019 - 2024. All rights reserved.