Authentication 如何刷新令牌而不必再次进行身份验证?OAuth2

Authentication 如何刷新令牌而不必再次进行身份验证?OAuth2,authentication,oauth,oauth-2.0,basic-authentication,Authentication,Oauth,Oauth 2.0,Basic Authentication,如何使用OAuth2刷新访问令牌而不必再次通过身份验证过程 现在,若获取用户失败,我将执行刷新令牌,但为了执行刷新令牌,我必须首先收到一个401未经授权的错误 当我在无法执行请求后收到401时,我重定向到登录屏幕,因为如果我不重定向到登录屏幕,后续请求将不会显示 如果我使用了过期时间,令牌在没有首先执行请求的情况下不会刷新,但是在发出请求时,令牌已经过期 我想问的是,我应该使用什么逻辑来刷新访问令牌,这样我的应用程序就不会在每次令牌过期并需要另一次身份验证时注销 我希望我的应用程序的功能更像fa

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

现在,若获取用户失败,我将执行刷新令牌,但为了执行刷新令牌,我必须首先收到一个401未经授权的错误

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

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

我想问的是,我应该使用什么逻辑来刷新访问令牌,这样我的应用程序就不会在每次令牌过期并需要另一次身份验证时注销

我希望我的应用程序的功能更像facebook或谷歌,在那里你一直登录,直到你注销


提前谢谢。

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

有两次:

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

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

有一些机制可以在客户端以静默方式更新令牌。一般的方法是获得一个新的令牌,并在由于访问令牌过期而获得401时重试API调用,就像我的例子一样


如何获得新代币取决于应用程序的类型(手机/水疗/基于cookie的web应用)

谢谢您的链接,我想这就是我要寻找的,我会在回复后确定。我正在制作一个移动应用程序,使用fetch调用并响应本机expo,因为该应用程序(无typescript)刷新令牌不起作用,因为它不是application/json,谢谢这就是我要找的东西javascript(非typescript)是否有类似的东西?最好使用正确的github链接:但是如何从后端实现
刷新令牌
?我应该使用第三方框架吗?