首页 > 其他分享 >keycloak~关于session idle和session max的解释

keycloak~关于session idle和session max的解释

时间:2023-11-27 17:58:11浏览次数:27  
标签:Session 过期 max token refresh 用户 idle session

keycloak可以帮助我们实现这个功能:用户token每5分钟失效一次,失效后通过refresh_token来换新的token,而refresh_token每30天失效一次,但如果用户3天都没有任何操作(就是没有用refresh_token去换新的token),那么3天后也让refresh_token失效,用户需要从新去登录。

先说refresh_token过期时间的配置

领域设置->Tokens中,有四个选项用来控制refresh_token的超时时间

  • SSO Session Idle
  • SSO Session Max
  • Client Session Idle
  • Client Session Max

上面4个选项,Max Session和Client Session哪个大,refresh_token的过期时间就用哪个,如下配置中,它的过期时间就是30天;

当refresh_token到期之后 ,session就失效了,而它并不会立即清楚,它会交给keycloak进行维护,而用户再进行刷新token时,会提示token是不活动的,在keycloak后台会话的客户端也被清空,表示令牌过期了,如下面两张图:

再说Session Idle和Session Max的作用

会话的空闲时间(Idle),是指在多长时间之内没有使用refresh_token进行刷新,这个会话(session_state)就过期,无法再直接用refresh_token去换新的token了,这时用户就需要重新回到登录页,完成新的认证;这主要针对长时间不操作的用户,kc需要让它重新完成用户名密码的确认。

注意:如何关注一下“记住我”这个功能,因为如果开启“记住我”功能之后,你的会话空闲时间等于“记住我空闲时间”,你的”sso session idle”配置将失效,如果记住我配置了最大时间和空闲时间,那么token的生成和校验都将使用记住我的时间,如图keycloak14.0.0.-services里AuthenticationManage.isSessionValid的源码。

如下图配置了access_token有效期2分钟,refresh_token最长30天,会话空闲为7天;配置的作用为:用户每2分钟access_token会过期,然后用户通过refresh_token去换新的access_token,如果用户7天没有换token,这个会话就过期,如果会话已经产生了30天,则会话也过期,用户就会返回登录页,重新认证。

有时,我们在google上找不到答案;有时,我们在chatgpt上也找不到答案;这时,不防看看它的源码,从源码中找答案!

标签:Session,过期,max,token,refresh,用户,idle,session
From: https://www.cnblogs.com/lori/p/17859949.html

相关文章

  • Flask Session 登录认证模块
    Flask框架提供了强大的Session模块组件,为Web应用实现用户注册与登录系统提供了方便的机制。结合Flask-WTF表单组件,我们能够轻松地设计出用户友好且具备美观界面的注册和登录页面,使这一功能能够直接应用到我们的项目中。本文将深入探讨如何通过Flask和Flask-WTF构建一个......
  • ICPC2022Xian E Find Maximum 题解
    LinkICPC2022XianEFindMaximumQuestion定义\(f(x)\)求Solution通过打表我们可以发现\(f(x)\)表示三进制表达中有效位数与数码和之和接下来考虑如何获得最大的\(f(x)\)贪心的去考虑,假设答案为\(Ans\),\((Ans)_3\)肯定是前几位和\((R)_3\)的前几位一样,然后某一......
  • zemax导入外部模型
    一:在三维软件(Catia、Solidworks)中绘制实体,将文件转存为STP格式(其他格式也可以,放到不同文件夹里面就行)。提前将此文件放入Zemax安装包的文件中,例如:C:\Users\59118\Documents\zemax\OBJECTS\CADFiles\.STP。二:在Zemax序列模式下,在透镜数据编辑器中双击一个面的surf:type——Type选......
  • Cookie session
    今日概要【零】发展史一开始:只有一个页面,没有登录功能,大家看到东西都一样新闻时代发展,出现了需要登录注册的网站,要有一门技术存储我们的登录信息京东、天猫cookie存储形式:k:v键值对存储位置:客户端不安全,信息可能会泄露时代发展,需要有一门新的安全的技术sess......
  • 【转载】Laravel10.x Session 储存到 Redis
    参考https://learnku.com/docs/laravel/10.x/session/14855#configurationhttps://blog.csdn.net/wen_3370/article/details/88072364注意经过测试Cache的内容默认存储到DB1经过测试Session配置为储存到Redis则默认存储到DB0环境软件/系统版本说明wi......
  • SQL 中的 MIN 和 MAX 以及常见函数详解及示例演示
    SQLMIN()和MAX()函数SQL中的MIN()函数和MAX()函数用于查找所选列的最小值和最大值,分别。以下是它们的用法和示例:MIN()函数MIN()函数返回所选列的最小值。示例:查找Products表中的最低价格:SELECTMIN(Price)FROMProducts;MAX()函数MAX()函数返回所选列的最大值。......
  • 微信小程序 在session失效时,自动重新登录
    调试程序的时候经常会碰到很长时间不去碰手机,这样小程序session失效了,但是数据还是存在。去检测一下是否失效,来决定是否需要重新登录:onCheckSessionValid(){setInterval(function(){wx.checkSession({success:function(){//session_key......
  • 09-基础SQL-DQL(数据查询语言)-聚合函数(count、max、min、avg、sum)
    DQL-介绍(常用)DQL英文全称是DataQueryLanguage(数据查询语言),数据查询语言用来查询数据库中表的记录查询关键字:SELECTDQL-语法......
  • 请求扩展、蓝图、flask-session、数据库连接池、wtforms、flask-script、信号、flask-
    请求扩展#1before_request:请求来了会走,依次从上往下执行,但是如果其中一个返回了响应对象,后续的就不走了,视图函数也不走而来#2after_arequest:请求走了,会从下往上依次执行,它必须返回响应对象假设:写了3个before_request第二个返回了响应对象写了3个af......
  • 【Flask使用】全知识md文档,4大部分60页第3篇:状态cookie和session保持
    本文的主要内容:flask视图&路由、虚拟环境安装、路由各种定义、状态保持、cookie、session、模板基本使用、过滤器&自定义过滤器、模板代码复用:宏、继承/包含、模板中特有变量和函数、Flask-WTF表单、CSRF、数据库操作、ORM、Flask-SQLAlchemy、增删改查操作、案例、蓝图、单元测......