我有一个使用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;。
答案 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()
});