我有一个集成了微软azure的多租户web api项目,我连接到微软,获取访问令牌并刷新令牌,每次在访问令牌到期之前,我调用api
开机自检https://login.microsoftonline.com/tenant/oauth2/v2.0/token
请求中的数据为:
grant_type=refresh_token
refresh_token=xxxxxxxxxxx
client_id=xxxxxxxxxx
我得到了新的访问令牌和刷新令牌,一个小时后得到了新的访问令牌和上次收到的刷新令牌,但24小时后不知何故我的刷新令牌过期了,我需要重新连接并再次输入我的凭据。如何使我的刷新令牌在手动撤销之前不会过期。我需要以某种方式在后台更新刷新令牌超时,并保存我的集成始终连接,直到我手动撤销它。
我需要某种方式来组织这一直保持连接,直到手动撤销.任何解决方案?
1条答案
按热度按时间v8wbuo2f1#
在某些情况下,刷新令牌的时间限制为24小时:
发送到注册为spa的重定向URI的刷新令牌将在24小时后过期。使用初始刷新令牌获取的其他刷新令牌将保留该过期时间,因此应用必须准备好使用交互式身份验证重新运行授权代码流,以便每24小时获取一个新的刷新令牌。用户不必输入凭据,通常甚至看不到任何相关的用户体验,只是重新加载您的应用程序。浏览器必须访问顶层框架中的登录页面以显示登录会话。这是由于浏览器中的隐私功能阻止了第三方Cookie。
参见:https://learn.microsoft.com/en-us/azure/active-directory/develop/refresh-tokens