keycloak~token配置相关说明
会话有效期
在 Keycloak 中,"SSO Session Idle" 和 "SSO Session Max" 是用于配置单点登录(SSO)会话的两个参数。这两个参数影响用户在系统中的会话过期和最大有效时间。
SSO Session Idle(单点登录会话空闲时间):
定义: 表示用户在系统中没有活动的时间阈值。如果用户在这段时间内没有与系统进行交互,那么他们的单点登录会话就被视为处于空闲状态。
实际意义: 当用户登录后,在一段时间内没有进行任何操作,系统会认为用户不再活跃,这时候可以选择在一定的时间后自动注销用户,以提高安全性。例如,设置为 30 分钟,如果用户在 30 分钟内没有任何操作,他们的会话将被认为是空闲的,可以选择要求用户重新验证身份。
SSO Session Max(单点登录会话最大时间):
定义: 表示用户单点登录会话的最大有效时间。即使用户一直在系统中活跃,当达到此时间阈值后,他们的会话也会被强制注销。
实际意义: 即使用户一直在系统中活跃,为了安全和资源管理的目的,可以设置一个最大时间,超过这个时间后,用户将被强制重新登录,以确保他们的身份验证状态是最新的。例如,设置为 8 小时,用户的会话将在 8 小时后过期,需要重新登录。
这两个参数通常与安全性和用户体验的平衡相关。设置得太短可能导致用户频繁需要重新登录,而设置得太长可能增加安全风险。具体的设置应该根据你的应用程序的安全需求和用户行为来确定。
Client Session有效期
"Client Session Idle" 和 "Client Session Max" 是 Keycloak 中用于配置客户端会话的两个参数。这两个参数影响与客户端相关的会话过期和最大有效时间。
Client Session Idle(客户端会话空闲时间):
定义: 表示用户与特定客户端之间没有活动的时间阈值。如果用户在这段时间内没有与特定客户端进行交互,那么与该客户端关联的会话就被视为处于空闲状态。
实际意义: 当用户与特定客户端建立了会话后,在一段时间内没有与该客户端进行任何操作,系统会认为用户与该客户端的会话是空闲的。这可以用于自动注销与客户端的会话,以提高安全性。
Client Session Max(客户端会话最大时间):
定义: 表示用户与特定客户端的会话的最大有效时间。即使用户一直在与特定客户端进行交互,当达到此时间阈值后,与该客户端关联的会话也会被强制注销。
实际意义: 即使用户与特定客户端一直在活跃,为了安全和资源管理的目的,可以设置一个最大时间,超过这个时间后,与该客户端关联的会话将被强制结束,用户可能需要重新进行身份验证。
这两个参数通常与客户端相关的会话管理和安全性相关。设置得太短可能导致用户频繁需要重新进行身份验证,而设置得太长可能增加安全风险。具体的设置应该根据你的应用程序的安全需求和用户行为来确定。
会话有效期谁小用谁
在 Keycloak 中,会话的有效期确实是由这些参数中的最小值决定的。换句话说,如果设置了 "SSO Session Idle"、"SSO Session Max"、"Client Session Idle" 和 "Client Session Max",则会话将在这些参数中的最小值所定义的时间段内过期。
这种行为是为了确保会话的有效期在所有相关配置中都被严格限制,以提供更加精确的控制。这也意味着无论是整体的单点登录会话有效期还是与特定客户端关联的会话有效期,都将受到最小值的限制。
空闲会话
空闲时间这块,keycloak14.0.0有些bug,这块我进行了源码调整,当session max和session idle不同时,用户在session idle时间内不操作,用户会话也会超时。
在Keycloak中,有四个与空闲会话(Idle Session)相关的设置参数。它们的作用和关系如下:
Offline Session Idle(领域设置):这是Keycloak的领域设置中的一个参数,用于定义空闲会话的超时时间。当用户在一段时间内没有与Keycloak进行任何交互时,会话会被视为处于空闲状态。默认情况下,该参数设置为30天。
Offline Session Max Limited(领域设置):这是Keycloak的领域设置中的一个参数,用于定义空闲会话的最大持续时间。该参数定义了会话的最长持续时间,从会话开始到会话终止的时间段,以秒为单位。超过这个时间段后,会话将被标记为过期,并将被销毁。默认情况下,该参数也设置为30天。
Offline Session Max(领域设置):这是Keycloak的客户端设置中的一个参数,用于定义特定客户端的空闲会话的最大持续时间。每个客户端可以具有自己的空闲会话最大持续时间,以使具有不同需求的客户端具有不同的会话时间。默认情况下,它继承自领域的 "Offline Session Max Limited" 值。
Client Offline Session Idle(客户端设置):这是Keycloak的客户端设置中的一个参数,用于定义特定客户端的空闲会话的超时时间。每个客户端可以具有自己的空闲会话超时时间,以使具有不同需求的客户端具有不同的会话时间。默认情况下,它继承自领域的 "Offline Session Idle" 值。
这些参数共同用于控制空闲会话的超时和最大持续时间。"Offline Session Idle" 和 "Client Offline Session Idle" 确定了用户在没有与Keycloak进行任何交互时,会话被认为是空闲的时间。而 "Offline Session Max Limited" 和 "Offline Session Max" 确定了会话可以持续的最长时间。如果会话超过这个时间段,它将被销毁。
请注意,领域设置中的参数适用于整个领域(realm),而客户端设置中的参数适用于特定的客户端。通过为每个客户端设置不同的值,您可以针对不同的客户端应用程序调整会话时间。
登录超时
- 如果用户在登录页,长时间停留(达到了后台配置的“登录超时”时间),不进行登录提交操作,会出现
登录超时,请重新开始登录的提示,这时,页面自动刷新,用户重新提交登录请求即可。 - 登录超时配置:领域设置---tokens选项,如图

对于一种开源框架和产品的学习,我们主要还是实践中去总结它,只有在实践中才能发现它的问题及那些“不为你知”的功能。
keycloak~token配置相关说明的更多相关文章
- Hibernate 系列 04 - Hibernate 配置相关的类
引导目录: Hibernate 系列教程 目录 前言: 通过上一篇的增删改查小练习之后,咱们大概已经掌握了Hibernate的基本用法. 我们发现,在调用Hibernate API的过程中,虽然Hib ...
- linux网络配置相关命令、虚拟网络接口eth0:0
网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口 ...
- GBrowse配置相关资料
GBrowse配置相关资料(形状.颜色.配置.gff3) http://gmod.org/wiki/Glyphs_and_Glyph_Optionshttp://gmod.org/wiki/GBrow ...
- memcached的基本命令(安装、卸载、启动、配置相关)
memcached的基本命令(安装.卸载.启动.配置相关):-p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcac ...
- linux网络配置相关文件
网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口 ...
- Tomcat 参数配置相关
Tomcat参数配置相关 by:授客 QQ:1033553122 目的: 对Tomcat配置的点滴学习总结,主要目的在于分析Tomcat与性能相关的一些参数设置,以便性能调优时选择最优配置 环境: ...
- Nginx 参数配置相关
Nginx参数配置相关 by:授客 QQ:1033553122 目的: 对Nginx配置的点滴学习总结,主要目的在于分析Nginx与性能相关的一些参数设置,以便性能调优时选择最优配置 环境: $ ...
- 【树莓派】服务配置相关3:基于Ubuntu Server的服务配置
该文接续之前写过的两篇: [树莓派]服务配置相关 [树莓派]服务配置相关2:基于RPi Desktop的服务配置 这是我个人用来进行树莓派盒子安装配置的脚本,对于外部其他博友,可以部分参考,但不需要逐 ...
- 【树莓派】服务配置相关2:基于RPi Desktop的服务配置
该文接续之前写过的一篇:[树莓派]服务配置相关. 这是我个人用来进行树莓派盒子安装配置的脚本,对于外部其他博友,可以部分参考,但不需要逐个引用. 现在有一定更新,部分按如下脚本来操作: step1: ...
- vue+element-ui路由配置相关
vue+element-ui路由配置相关 转自:http://www.cnblogs.com/MonaSong/p/6703804.html vue-router2中说明了,子路由前面可以不加'/', ...
随机推荐
- 华为高性能计算(HPC)文档——技术支持>智能计算解决方案>高性能计算>HPC
链接地址: https://support.huawei.com/enterprise/zh/server-solutions/hpc-pid-253585671 ================== ...
- 一些八股:1.fetch 的理解。2.let、const、var
一. 说说你对 Fetch 的理解,它有哪些优点和不足? Fetch API 是现代 JavaScript 中用于进行网络请求的接口,旨在替代传统的 XMLHttpRequest.它提供了一种更简单. ...
- .NET 开源权限认证项目 MiniAuth上线
前言 在Web应用项目中权限认证是个绕不开的话题,传统方法复杂又耗时.MiniAuth推出专为.NET开发者设计的简单.实用的权限认证项目. MiniAuth,作为ASP.NET Core的插件,让我 ...
- LVS-TUN隧道模式
当然可以.以下是按照您的要求整理的表格形式的实验手册: 主机名称 网卡信息 安装应用 系统 Client客户端 192.168.2.101 无 RHEL8/CentOS8 Lvs服务器(DR) DIP ...
- 电脑打不开CHM格式文件解决办法
如图所示 比如说jdk1.8的api 双击打开后,这个样子 就ok了
- stm32g070 不同channel区别
1. TIM 2.UART
- ChatGPT 客户端推荐
通过按量计费的 Token 使用 ChatGPT 可以获得比免费 ChatGPT 更快的响应速度,但又不必支付昂贵的每月 20 美金订阅费用.下面是一些我个人喜欢的支持 Token 的 ChatGPT ...
- 删除链表倒数第N个节点(19)
双指针法 双指针法主要是最开始有两个指针fast,slow都指向链表的虚拟头节点dummy,然后快指针先移动,这里需要先向后移动n+1位(因为你最终是要找到目标节点的前一个节点),然后slow和fas ...
- C语言实现一个走迷宫小游戏(深度优先算法)
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C++的语法(使用Dev-C++并且文件扩展名为.cpp的没有影响),如果有的朋友使用的语言标准是VC6的话可能不支持,所以在修改过后再上传一版, ...
- Git Extensions:一个.NET开源的 Git 图形用户界面(GUI)工具
前言 今天大姚给大家分享一个.NET开源.免费的用于管理 Git 存储库的独立图形用户界面(GUI)工具,它还与 Windows 资源管理器和 Microsoft Visual Studio (201 ...