1

我有一个使用OpenIdConnect(IdP配置为使用Google+)进行身份验证的ASPNET MVC5开发的Web应用程序。(ASP.NET MVC5)如何更改5分钟内的默认时间?

问题是,即使我将cookie &会话设置为60分钟,我的会话总是会在5分钟后超时。

下面是代码:

此代码是客户端在启动时

app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      AuthenticationType = "Cookies", 
      SlidingExpiration = true, 
      CookieName = "RefManWeb", 
      ExpireTimeSpan = TimeSpan.FromHours(1), 
     }); 

我也有Web.config文件的sessionState集

<sessionState timeout="60"></sessionState> 

你能家伙点这里出了什么问题?任何建议都非常appriciated!

更新:所有cookie都exprires =“在会话结束时”。

enter image description here

回答

1

SlidingExpiration仅适用于在您的OpenID中间件选项UseTokenLifetime = false

例如,

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions() 
      { 
       Authority = options.AuthorityUrl.ToString(), 
       ClientId = options.Client.Id.ToString(), 
       RedirectUri = options.Client.Url.ToString(), 
       PostLogoutRedirectUri = options.Client.Url.ToString(), 
       ResponseType = "id_token", 
       UseTokenLifetime = false, 
       SignInAsAuthenticationType = options.CookieName, 
       Notifications = new CustomNotificationProvider() 
      }); 
+0

现在有了您的帮助,5分钟后不会超时。但会议似乎没有超时。我将日期时间更改为次日/月,即使到期时仍然登录仍然是60分钟。 – hazjack

+0

甚至1小时闲置? – Marek

+0

我没有闲着1小时,但我改变当地时间到2小时,或1天(应该等于闲置) – hazjack

相关问题