3

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

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

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

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

我搜索了文档并找到了许多 Lifetime 设置,但不清楚我应该使用哪些设置,到目前为止,反复试验还没有产生任何结果。

4

1 回答 1

3

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

这个 cookie 的生命周期是在 中CookieOption找到AuthenticationOptionsIdentityServerOptions(见下文),默认为 10 小时。

var options = new IdentityServerOptions
{
    Factory = factory,
    SigningCertificate = Cert.Load(),
    AuthenticationOptions = new AuthenticationOptions
    {
        CookieOptions = new IdentityServer3.Core.Configuration.CookieOptions
        {
            ExpireTimeSpan = TimeSpan.FromHours(24)
        }
    }
};
于 2017-02-21T10:01:15.797 回答