【问题标题】:Oauth2 refresh tokensOauth2 刷新令牌
【发布时间】:2020-07-30 18:39:10
【问题描述】:

现在,我的公司运行一个 java 应用程序,它使用 IMAP 和 SMTP 来读取/发送电子邮件,而无需用户交互。我们使用的身份验证协议是基本身份验证。 Microsoft 已宣布终止对基本身份验证的支持,它将被 Oauth2 取代。不幸的是,他们没有为没有用户交互的应用程序提供明确的解决方案。 https://docs.microsoft.com/en-gb/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth

我的一个想法是让用户在他们第一次启动服务时只进行一次身份验证(使用 Oauth2 授权代码流)。然后,刷新令牌将用于在无需用户交互的情况下获取访问令牌。连接不会因为到期日期短或撤销而中断,这一点非常重要。如果应用无法获取新的访问令牌,可能没有人可以重新进行身份验证。

我似乎找不到任何有关这些令牌到期日期的信息(如果可以设置的话)。理想的情况是它们永不过期……

有人知道更多吗?了解我的想法是否可行对我有很大帮助。

【问题讨论】:

  • 看看docs.microsoft.com/en-us/azure/active-directory/develop/…,看起来他们的示例响应是 3599 秒,这意味着您需要:(1)将 currenttime+3599 与刷新令牌一起存储,并在之前刷新它请求 (2) 尝试请求,获取失败并刷新/重试。您不能修改或请求以任何不同的方式过期令牌,您只能使用提供的信息来预/后刷新令牌。

标签: java oauth-2.0 azure-active-directory


【解决方案1】:

访问令牌可以自动刷新。但对我来说,更具体的提供商我确实在这里找到了一些关于刷新令牌到期的信息

https://docs.microsoft.com/en-us/linkedin/shared/authentication/programmatic-refresh-tokens

根据此链接,LinkedIn 令牌访问和刷新最多在 365 天后过期。

此外,如果您看到此链接,它会说如果刷新令牌处于非活动状态,它会在 90 天内过期,但不会在任何地方说如果处于活动状态它将过期。

https://docs.microsoft.com/en-us/office365/enterprise/session-timeouts

您能否提供对您尝试使用的 API 的参考,以便我找到有关它的更多信息(也许)

【讨论】:

猜你喜欢
  • 2017-04-20
  • 2017-12-13
  • 2012-07-21
  • 2017-05-29
  • 2016-08-13
  • 2020-01-17
  • 2020-09-16
  • 2012-06-29
  • 2016-08-03
相关资源
最近更新 更多