(ASP.NET MVC5)如何更改默认时间超过5分钟?

时间:2017-08-22 11:10:33

标签: asp.net-mvc oauth session-cookies identityserver3 openid-connect

我有一个使用ASPNET MVC5开发的Web应用程序,其中IdentityServer3使用OpenIdConnect进行身份验证(IdP配置为使用Google +)。

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

以下是代码:

此代码位于客户端

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

我也在Web.config中设置了sessionState

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

你能指出这里有什么问题吗?任何建议都很受欢迎!

更新:所有Cookie都有exprires =&#34;会话结束时#34;。

enter image description here

1 个答案:

答案 0 :(得分: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()
            });