【问题标题】:Throw "IDX10223: Lifetime validation failed. The token is expired." when working Azure AD with Microsoft.Owin.Security.OpenIdConnect抛出“IDX10223:生命周期验证失败。令牌已过期。”使用 Microsoft.Owin.Security.OpenIdConnect 使用 Azure AD 时
【发布时间】:2016-09-17 03:25:30
【问题描述】:

我正在将“Microsoft Azure AD”集成到我们的 Asp.NET Web 项目中,按照https://azure.microsoft.com/en-us/documentation/articles/active-directory-devquickstarts-webapp-dotnet/ 中显示的指南一切正常,即使我将其部署到 IIS 8.5。但是,当我将页面在 Chrome 中保存一晚并尝试通过刷新在第二天早上再次访问它时,事情变得很糟糕,它遇到了异常:

Server Error in '/' Application.
--------------------------------------------------------------------------
IDX10223: Lifetime validation failed. The token is expired.
ValidTo: '05/19/2016 10:45:59'
Current time: '05/19/2016 21:46:31'.

有人遇到过同样的问题吗?如何刷新令牌?我尝试直接注销并更改公共地址,但都不起作用。

顺便说一句,我做了一些研究,但都提到它已在“AspNet.Security.OpenIdConnect.Server”而不是“Microsoft.Owin.Security.OpenIdConnect”中解决。

【问题讨论】:

    标签: c# asp.net azure azure-active-directory


    【解决方案1】:

    我遇到了同样的问题,这里的 git 上有人说它的错误 https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Server/issues/191 但我认为它与您的机器时间有关,因为 OpenidConnect OAuth 令牌的有效期为 1 小时。如果您的机器时间设置错误,那么它的行为是这样的。您可以更改时间尝试测试一下。请也清除您的浏览器 cookie,以便框架不要使用旧的 cookie。

    【讨论】:

    • 我刚刚遇到了与 IDX10222 相同的问题 - “终身验证失败。令牌尚未生效”。我不得不将我的机器时间与时间服务器同步,这迫使 VM 时间也同步,之后我不再遇到错误。
    • 我也有同样的问题,但在 Azure 实例中运行。我能想到的唯一改变是我们切换了服务上的“始终开启”设置以帮助冷启动。
    • 我刚刚遇到同样的事情,并意识到我的系统时钟没有同步,因为时钟在夏天向前推进,所以显示为上午 9 点而不是上午 10 点
    【解决方案2】:

    在我们的例子中,这是一个Docker 容器问题。在让 PC 进入休眠状态后,结合某种形式的 Docker 更新,及时等于 Docker 容器堆栈。 Docker 清理和机器重新启动,对其进行了排序。

    【讨论】:

      【解决方案3】:

      就我而言,我的 Windows Pro 10(我用来登录的设备)的日期/时间设置不是自动设置的。 将其设置为自动获取日期/时间解决了这个问题。

      【讨论】:

      • 如果您更改 Windows 时区,您可能会收到 401 。就我而言;我改变并均衡了我的windows 时区和genymotion 时区。问题解决了。
      【解决方案4】:

      在将 Windows 时区设置为自动并重新启动系统后,我遇到了类似的“IDX10222”错误。

      另外必须添加“Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true;”能够在此处查看日期和时间 - 令牌尚未生效。 ValidFrom: '[PII 被隐藏。更多详情见https://aka.ms/IdentityModel/PII]',当前时间:'[PII被隐藏。详情请见https://aka.ms/IdentityModel/PII]'。

      【讨论】:

        【解决方案5】:

        在我的情况下,Identity Server 的时间比我使用该服务的机器早。设置正确时间后,您也可以尝试清除浏览器cookies。

        【讨论】:

        • 你是怎么做到的?
        猜你喜欢
        • 2021-11-11
        • 2016-05-03
        • 2017-10-13
        • 2017-06-07
        • 1970-01-01
        • 2020-03-09
        • 2020-08-20
        • 2017-05-19
        • 2019-06-17
        相关资源
        最近更新 更多