如何在Keycloak Realm中强制启用全局「记住我」功能?
为Keycloak Realm全局强制启用"记住我"功能
要让用户关闭浏览器后仍保持登录状态,仅调整SSO Session Max无法实现,需要全局配置强制启用"记住我"并配合相关会话设置,具体操作如下:
1. 配置Realm级别的默认"记住我"设置
- 登录Keycloak管理控制台,进入目标Realm
- 转到Realm Settings > Login标签页
- 找到Remember Me区域:
- 勾选
Remember Me选项,开启该功能 - 将
Remember Me Default Checked设为On,让用户登录时默认勾选"记住我" - 调整
Remember Me Max Age为所需时长(例如31536000秒即1年,按需设置)
- 勾选
2. 强制客户端启用"记住我"
若要确保所有客户端都生效,需配置客户端的强制策略:
- 进入Clients,选择目标客户端(可批量配置所有客户端)
- 转到Settings标签页,找到Login Settings区域:
- 设置
Remember Me为On - 开启
Force Remember Me选项,该设置会忽略用户登录时的选择,强制启用记住我功能 - 确认
Access Token Lifespan、SSO Session Idle等设置与Remember Me Max Age匹配,避免会话提前失效
- 设置
3. 验证效果
完成配置后测试:
- 用户登录后关闭浏览器
- 重新打开浏览器访问受保护资源,应自动保持登录状态
- 可在Keycloak控制台的Users > 目标用户 > Sessions中查看持久化的会话信息
关键说明
SSO Session Max控制浏览器未关闭时的最长会话时长,Remember Me Max Age则是浏览器关闭后持久化会话的最长时长- 启用
Force Remember Me会覆盖用户的登录选择,确保所有用户都能获得持久化会话 - 会话时长设置需兼顾安全性与用户体验,避免过长会话带来安全风险
内容的提问来源于stack exchange,提问作者Hasan
相关产品推荐
相关产品推荐

