登录状态保持,即当用户​​关闭浏览器​​​之后,下次打开kc仍然保持登录状态,这是通过kc里的​​记住密码​​功能实现的

原理

通过在kc下的cookies添加​​KEYCLOAK_REMEMBER_ME​​​,用来标签是否使用持久化的sessionId,默认情况下,kc使用会话级的sessionId,即​​AUTH_SESSION_ID​​​和​​AUTH_SESSION_ID_LEGACY​​​,带有LEGACY我们可以理解为,为了兼容老版浏览器而添加的;而需要希望你的登录状态需要保持,​​即关闭浏览器后,会话不丢失​​​,它会使用​​KEYCLOAK_SESSION_LEGACY​​​和​​KEYCLOAK_SESSION​​​这两个cookies键值对,当然它的前提是你开启了​​记住密码选项​​。

如下几个步骤开启它


  1. 打开域中的记住密码选项
  2. keycloak~记住密码实现关闭浏览器用户状态保持原理_记住密码


  3. 为​​KEYCLOAK_SESSION_LEGACY​​​和​​KEYCLOAK_SESSION​​​设置有效期,通过​​域​​​的​​tokens​​​的​​SSO Session Idle Remember Me​​来配置
  4. keycloak~记住密码实现关闭浏览器用户状态保持原理_支付宝_02


  5. 我们在登录之后,将会出现​​KEYCLOAK_REMEMBER_ME​​​,然后kc认证将使用​​KEYCLOAK_SESSION_LEGACY​​​和​​KEYCLOAK_SESSION​​。
  6. keycloak~记住密码实现关闭浏览器用户状态保持原理_支付宝_03

作者:仓储大叔,张占岭,
荣誉:微软MVP