我有一个问题在azure广告认证,当我建立应用程序使用visual studio 2017集成与azure广告和部署在azure。
问题是当使用我们的azure广告登录用户名和密码后,他们发送令牌我们的手机,当我们进入该toke一些我的applixation是工作,一些时间错误,我们不能签署你再试,你能告诉我问题.这个问题是来的时间。
当我重建项目并再次部署,它是工作接下来与两个小时相同的错误是来了,我无法找到解决方案,为什么这个错误发生,可以请帮助我。
这个问题已经在ASP.NET核心和新版本的Katana Owin for ASP.NET中得到解决。要解决这个问题,您可以升级您的应用程序使用ASP.NET核心。如果您必须继续留在ASP.NET上,请执行以下操作。
更新您的应用程序的 Microsoft.Owin.Host.SystemWeb
包中至少有一个版本,然后修改你的代码,使用新的cookie管理器类,比如下面这样。
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Cookies",
CookieManager = new Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager()
});
我们如何在mvc启动类中检查token的过期情况?
你可以用 Properties.ExpiresUtc
来获取访问令牌的到期时间。
options.Events = new OpenIdConnectEvents
{
OnTokenValidated = x =>
{
x.Properties.IsPersistent = true;
var accessToken = new JwtSecurityToken(x.TokenEndpointResponse.AccessToken);
x.Properties.ExpiresUtc = accessToken.ValidTo;
return Task.CompletedTask;
}
};
你也可以沉默地更新 access_token
通过 refresh_token
在asp.net core mvc中,参考这个SO 纫.