为啥我的 Office 365 OAuth2 刷新令牌总是这么快过期?
Posted
技术标签:
【中文标题】为啥我的 Office 365 OAuth2 刷新令牌总是这么快过期?【英文标题】:Why do my Office 365 OAuth2 refresh tokens keep expiring so quickly?为什么我的 Office 365 OAuth2 刷新令牌总是这么快过期? 【发布时间】:2016-07-27 13:25:12 【问题描述】:我知道 Office 365 刷新令牌会在用户更改密码时过期,但我发现它们几乎每周都会对我的客户过期。
在 Azure 中设置我的 OAuth2 应用程序时我是否配置错误?
【问题讨论】:
【参考方案1】:通常,访问令牌持续 1 小时,刷新令牌持续 14 天。
根据文档Authorization Code Grant Flow,刷新令牌的生命周期因策略设置而异。在这种情况下,您可以检查 Azure AD 策略设置。
未提供刷新令牌的生命周期,并且根据不同情况而有所不同 策略设置和授权码授予的时间 由 Azure AD 吊销。当对新访问令牌的请求失败时,应用程序应该预期并处理这些情况。在这种情况下,它应该返回请求新访问令牌的代码。
当访问令牌过期时,您可以使用刷新令牌来请求新的访问令牌。响应包括一个新的访问令牌和一个新的刷新令牌。
旧的刷新令牌将持续 14 天,作为一种解决方法,您可以使用新的刷新令牌,它将再持续 14 天。
【讨论】:
谢谢 Jeffrey,我在哪里可以找到策略设置?刷新过期是某种配置选项吗? @jarcoal,您是否尝试过使用新的刷新令牌来刷新令牌,我已在回复中更新了解决方法。 啊,我没有意识到可以返回一个新的刷新令牌并且没有持久化它。太感谢了!这是在某处记录的吗?开发人员应该很清楚,因为我们大多数人都更熟悉 Google,其中刷新令牌(通常)永远是好的。 @JeffreyChen-MSFT 如果我正确理解您的最后一段,我们可以永远使用刷新令牌(假设我们在 14 天内刷新访问令牌),只要我们继续使用最新的刷新令牌.请确认。我们试图避免让用户重新授权应用程序并从授权码授权流程重新开始。以上是关于为啥我的 Office 365 OAuth2 刷新令牌总是这么快过期?的主要内容,如果未能解决你的问题,请参考以下文章
Office 365 OAuth2登录认证如何实现跨域请求?
通过 Exchange ActiveSync (EAS) 为 Office365 使用 OAuth2
使用 EWS 和 OAuth 2 的 Office 365 日历 API
为啥 Office 365 连接到 office 按钮不再适用于新的 Microsoft Teams 组?