身份服务器4会话/ Cookie相关问题

时间:2018-08-13 00:51:32

标签: security identityserver4 openid-connect

我有两个与会话相关的问题

  • 服务器:具有.net47和asp.net core2的身份服务器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

                    ...}

1 个答案:

答案 0 :(得分:0)

  1. 您不必担心Cookie的使用寿命为6小时;实际上默认值为10小时。您要注意的是令牌的生命周期。通常,我的访问令牌会持续一个小时,并使用刷新令牌来刷新令牌,这样最终用户就不会被迫每小时重新进行身份验证。但是,我使用的是MVC客户端,而不是JavaScript客户端。
  2. 您可以在客户端上设置身份令牌生存期以及UseTokenLifetime属性,该属性默认情况下处于禁用状态。如果您希望这是特定于客户的,我建议使用这两个属性来设置到期时间。但是,随着您对cookie的滑动到期,如果6个小时过去了,它将不会滑动,因此到期。另外,您还没有创建新的Cookie,直到它的一半过期为止。

希望这对您有所帮助!祝你好运!