抛出"IDX10223:生命周期验证失败.令牌已过期." 使用Microsoft.Owin.Security.OpenIdConnect处理Azure AD时

Joh*_*nny 7 c# asp.net azure azure-active-directory

我正在将"Microsoft Azure AD"集成到我们的Asp.NET Web项目中,所有这些都可以按照https://azure.microsoft.com/en-us/documentation/articles/active-directory-devquickstarts-中显示的指南进行.webapp-dotnet /,甚至我将它部署到IIS 8.5.但是,当我将页面在Chrome中保留一晚并且第二天早上尝试通过刷新再次访问它时,事情变得糟糕,它会遇到异常:

'/'应用程序中的服务器错误.

IDX10223:终身验证失败.令牌已过期.ValidTo:'05/19/2016 10:45:59'当前时间:'05/19/2016 21:46:31'.

有谁遇到过同样的问题?如何刷新令牌?我尝试直接进行Signout并更改了公共地址,但一切都不起作用.请帮忙.

顺便说一句,我做了一些研究,但所有提到的是它已经在"AspNet.Security.OpenIdConnect.Server"中解决,而不是"Microsoft.Owin.Security.OpenIdConnect".

谢谢,

约翰尼

Jen*_*iya 5

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

  • 我刚刚遇到了与 IDX10222 相同的问题 - “生命周期验证失败。令牌尚未有效”。我必须将机器的时间与时间服务器同步,这迫使虚拟机时间也同步,之后我就不再遇到错误了。 (2认同)

And*_*tov 5

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

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