Security Identity server 4会话/cookie相关问题

Security Identity server 4会话/cookie相关问题,security,identityserver4,openid-connect,Security,Identityserver4,Openid Connect,我有两个与课程相关的问题 服务器:带有.net47和asp.net core2的Identity Server 4 客户端:OpenId连接和隐式流 第一个问题 如果IdentityServer.CookieLifetime设置得太长(例如6小时),是否存在任何安全问题。 IdentityServer.CookieLifetime选项用于设置身份验证cookie生存期。例如,我的示例代码显示身份验证cookie生存期设置为6小时。因此,用户在6小时内不必输入密码 第二个问题 如果我们想缩短认

我有两个与课程相关的问题

  • 服务器:带有.net47和asp.net core2的Identity Server 4
  • 客户端:OpenId连接和隐式流
第一个问题 如果IdentityServer.CookieLifetime设置得太长(例如6小时),是否存在任何安全问题。 IdentityServer.CookieLifetime选项用于设置身份验证cookie生存期。例如,我的示例代码显示身份验证cookie生存期设置为6小时。因此,用户在6小时内不必输入密码

第二个问题 如果我们想缩短认证cookie的生存期并滑动cookie(启用CookieSlidingExpiration),它是否与openid connect静默刷新一起工作?因为,静默刷新会在当前令牌即将过期时保持刷新页面。静默刷新会导致cookie永远滑动吗?有什么建议吗,谢谢

 services.AddIdentityServer(options => {
 options.Authentication.CookieLifetime TimeSpan.FromSeconds(21600); //6 hours 
 options.Authentication.CookieSlidingExpiration = false

                    ...}
  • 你不应该担心饼干的寿命只有6小时;事实上,默认值是10小时。您需要注意的是令牌的使用寿命。我通常让我的访问令牌持续一个小时,并使用刷新令牌刷新令牌,这样最终用户就不会被迫每小时重新验证一次。但是,我使用的是MVC客户端,而不是JavaScript客户端
  • 您可以在客户端上设置标识令牌生存期以及默认禁用的UseTokenLifetime属性。如果您希望这是特定于客户端的,我建议您使用这两个属性来设置过期时间。但是,随着cookie上的滑动过期,如果6小时已过,它将不会滑动,因此过期。另外,直到新的cookie过期一半,您才能创建新的cookie
  • 我希望这有帮助!祝你好运