Identity Server 3用户会话生存期

时间:2017-02-21 09:38:43

标签: angularjs asp.net-mvc identityserver3 oidc-client-js

我正在使用身份服务器3保护网络应用程序。我的应用程序分为2个oidc客户端,ASP.Net MVC客户端和使用oidc-client javascript库的javascript(角度)客户端。

当用户首次访问网络应用时,我们会重定向以登录到身份服务器,该服务器会登录mvc客户端。然后使用oidc-library中的静默登录功能登录javascript客户端。

我想控制用户访问登录页面再次登录的频率,我想设置此项,以便用户每天或每8小时访问一次登录页面。

身份服务器中是否有设置可以控制用户会话的活动时长,而无需再次登录。

我搜索了文档,发现了一些Lifetime设置但不清楚我应该使用哪些这些以及迄今为止的试用版和错误没有产生任何结果。

1 个答案:

答案 0 :(得分:3)

您要控制的是IdentityServer本身问题的生命周期。一旦此cookie过期,下次其中一个客户端应用程序需要再次进行身份验证时,用户将需要重新输入其凭据。

此Cookie生命周期由CookieOption AuthenticationOptions中的IdentityServerOptions控制(见下文),默认为10小时。

var options = new IdentityServerOptions
{
    Factory = factory,
    SigningCertificate = Cert.Load(),
    AuthenticationOptions = new AuthenticationOptions
    {
        CookieOptions = new IdentityServer3.Core.Configuration.CookieOptions
        {
            ExpireTimeSpan = TimeSpan.FromHours(24)
        }
    }
};