Oauth 2.0 OAuth2代码流刷新令牌失败,密钥斗篷

Oauth 2.0 OAuth2代码流刷新令牌失败,密钥斗篷,oauth-2.0,keycloak,openid-connect,Oauth 2.0,Keycloak,Openid Connect,我有一个场景,刷新令牌获取周期性地失败。Key斗篷是oidc提供程序,使用来自web应用程序的代码流。当访问令牌过期时,后端应用程序将使用刷新令牌到达keydepose令牌端点,以获得一个新的令牌-通常,这是有效的。但是,刷新令牌会间歇性失败,出现“无效的\u授权,令牌未激活”。从我在某处和其他地方发现的一切来看,这是由于时钟漂移造成的。这当然是可能的,这都是在我不控制的系统上的VM上的容器中运行的,我想缓解这种情况 实际上,该系统的故障相当正常——只是XHR没有故障。因此,如果我在单页应用程序

我有一个场景,刷新令牌获取周期性地失败。Key斗篷是oidc提供程序,使用来自web应用程序的代码流。当访问令牌过期时,后端应用程序将使用刷新令牌到达keydepose令牌端点,以获得一个新的令牌-通常,这是有效的。但是,刷新令牌会间歇性失败,出现“无效的\u授权,令牌未激活”。从我在某处和其他地方发现的一切来看,这是由于时钟漂移造成的。这当然是可能的,这都是在我不控制的系统上的VM上的容器中运行的,我想缓解这种情况

实际上,该系统的故障相当正常——只是XHR没有故障。因此,如果我在单页应用程序中的逻辑页之间导航,并且出现这种情况,用户不会看到任何错误。当后台提取发生时,用户会看到一个错误,但下一个请求成功-以下是导致该错误的请求序列:

/
302,无效令牌,重定向到用户要登录的域的keydape auth端点。重定向是我的逻辑:如果用户未经过身份验证,请将其发送到登录页面

/keydove/…realm/../auth
302-用户的会话实际上仍然有效,请使用代码重定向到后端的我的授权端点

/authorize
302-这将从KeyClope令牌端点获取一个新的访问令牌,并设置cookie,以便将来的请求使用新令牌成功。重定向到登录页

/landing
这实际上被忽略了

如果令牌刷新失败,我想尝试在后端复制keydape auth请求-但我不喜欢这个想法,它感觉很混乱,我需要为这个特殊场景重建所有请求上下文(cookies等)

你知道我做错了什么,或者有更好的方法来处理刷新令牌失败吗