【问题标题】:Microsoft Azure Refresh Token Expires after 90 daysMicrosoft Azure 刷新令牌在 90 天后过期
【发布时间】:2020-06-03 17:00:49
【问题描述】:

对于客户租户上的给定用户帐户,我们按照 Microsoft Azure on-behalf-of procedure 向我们的 Web 应用程序授予 Microsoft Graph 权限,包括 offline_access 范围。然后我们获得了一个访问令牌和一个刷新令牌。用户只授予了一次权限。

从那时起,一切都很顺利,持续了几个月,然后我们突然收到了一条警报,提示刷新令牌在 90 天不活动期后已过期。请注意,刷新令牌在此窗口内使用了超过 90 天。

你知道为什么会这样吗?有没有办法让刷新令牌永不过期,如果是,是在我们这边(Azure 应用程序)还是在客户那边设置?

我不明白的是,我们理论上处于here 描述的“带有机密客户端刷新令牌的令牌生命周期”场景中(尽管我不知道如何检查我们是否被视为机密客户端)

请注意,与this question 不同,我已确保在调用https://login.microsoftonline.com/common/oauth2/v2.0/token 时将刷新令牌替换为新的刷新令牌

【问题讨论】:

  • 用户密码可能改变了吗?对用户的某些更改可能会使刷新令牌 IIRC 无效。
  • 但是刷新令牌到期基本上是您的应用程序必须准备处理的情况。用户将需要以交互方式重新进行身份验证。
  • “用户”是服务账号,没有人碰过,密码也没改过

标签: azure-active-directory microsoft-graph-api


【解决方案1】:

颁发给这些流的刷新令牌的默认生命周期是直到撤销,不能通过使用策略进行更改,并且不会在自愿密码重置时被撤销。

虽然刷新令牌通常是长期存在的,但授权服务器可以使它们失效。一些reasons 刷新令牌可能不再有效,包括:

1.授权服务器已撤销刷新令牌
2.用户已撤销授权
3.刷新令牌已过期(最长不活动时间为90天)
4.资源的认证策略发生了变化(例如,原来资源只使用用户名和密码,现在需要MFA)

【讨论】:

  • 谢谢乔伊,您还能想到其他原因吗?在我们的案例中,我认为这些场景中的任何一个都不合理
  • 您能否提供更多详细信息,以及我提供给您的所有原因都没有遇到?
  • 我知道的唯一细节是,发生这种情况的客户是大型企业,可能具有复杂的 Azure 和 Office 设置。除此之外,我一无所知。我认为该应用可能不再被视为“安全网络应用”,您知道我该如何检查吗?
猜你喜欢
  • 2022-12-24
  • 2021-05-09
  • 2013-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 2018-02-10
  • 2021-12-19
相关资源
最近更新 更多