【问题标题】:Azure Active Directory OpenIdConnect Refresh IntervalAzure Active Directory OpenIdConnect 刷新间隔
【发布时间】:2015-12-17 14:18:16
【问题描述】:

我在 Azure 中托管了一个应用程序,使用 Azure Active Directory 和 OpenIDConnect 进行身份验证 - 通常一切正常。但是,我遇到了一个问题,即某些请求会生成对 https://login.microsoftonline.com/ 的调用,然后再转到请求的页面 - 不需要密码。我假设这是某种令牌刷新?

问题在于该站点使用了大量的 ajax,并且这些请求停止工作,因为它们被重定向到 https://login.microsoftonline.com/ 这可能在 15 分钟后发生,但是 JWT 令牌的 nbf 和 exp 属性显示的有效期为大约一个小时。

我已将 OpenIdConnectAuthenticationOptions 的 BackchannelTimeout 属性设置为 30 分钟,但这似乎没有任何区别。

任何人都可以就可能发生的事情以及改变或解决该行为的选项提供任何建议吗?

【问题讨论】:

    标签: ajax asp.net-mvc-5 azure-active-directory openid-connect


    【解决方案1】:

    您的问题可以用与其他线程相同的方式回答:MVC AD Azure Refresh Token via ADAL JavaScript Ajax and KnockoutJs

    简而言之:OpenId Connect 中间件旨在支持基于重定向的 Web 应用程序。 Ajax 调用不太适合通过 cookie 进行保护,您遇到的问题就是原因之一。使用令牌而不是 cookie 可以更好地保护基于 Javascript 的 API 调用。 有关可能提供替代方法的一些链接,请参阅上面的链接。

    【讨论】:

      【解决方案2】:

      我为 .NET Web 应用程序创建了一个 nuget 包,它在后台刷新 Azure Active Directory 令牌。 更多信息:https://www.nuget.org/packages/RefreshTokenForAjaxRequest.Azure.ActiveDirectory/

      【讨论】:

      • 这只是发布到一个随机 URL,或者是设置的一部分,应该修改你的 js 以指向一个专门用于令牌刷新目的的 URL
      猜你喜欢
      • 2015-05-06
      • 2023-03-25
      • 1970-01-01
      • 2019-12-24
      • 2021-08-13
      • 2019-03-08
      • 2020-09-26
      • 1970-01-01
      • 2017-03-07
      相关资源
      最近更新 更多