随笔分类 - keycloak
统一认证中心
摘要:新网站对接到KC的部署 kc的环境 向kc申请自己的客户端 kc的登录接口 通过code换token接口 刷新token接口 kc的用户信息接口 kc的jwt token说明 1. kc的环境 测试环境:https://test-kc.xxx.com 预发布环境:https://pre-kc.xxx
阅读全文
摘要:场景与实现逻辑 我的登录接口,在输入账号密码成功后进行中间页 中间页可以通过添加Authenticator的实现类来写逻辑 authenticate方法是渲染页面的,action方法是提交表单后的逻辑 context.success()方法表示认证成功,将进行重写向操作 可以通过Response.s
阅读全文
摘要:keycloak~从login-status-iframe相关文章,可阅读我的这两篇keycloak~从login-status-iframe页面总结如何跨域传值 ,keycloak~对接login-status-iframe页面判断用户状态变更 。 什么是跨域 跨域(Cross-Origin)是指
阅读全文
摘要:上次我们说了,keycloak的login-status-iframe页面的作用,并解决了跨域情况下,iframe与主页面数据传递的方法,这一次,我们主要分析login-status-iframe.html这个文件的源码,然后分析在我们系统中如何与这个页面对接。 先看一下流程图 login-stat
阅读全文
摘要:login-status-iframe.html是keycloak为我们提供的一种检测用户登录状态的页面,它要求用户对接的系统通过iframe进行嵌入,然后通过window.addEventListener去订阅子页面的信息。 提示: 所有 HTML DOM 事件,可以查看我们完整的https://
阅读全文
摘要:keycloak可以帮助我们实现这个功能:用户token每5分钟失效一次,失效后通过refresh_token来换新的token,而refresh_token每30天失效一次,但如果用户3天都没有任何操作(就是没有用refresh_token去换新的token),那么3天后也让refresh_tok
阅读全文
摘要:问题出现的前提 keycloak通过k8s部署,并进行了集群部署,共2个节点 通过域名解析后,直接到外网LB,在LB上配置了k8s-ingress的IP,端口是80和443 在keycloak应用的ingress配置中,对域名进行了keycloak服务的绑定 问题的描述 有时间无法完成登录,点登录后
阅读全文
摘要:keycloak目前提供了几种分布式缓存,我们自己的缓存,如果希望是分布式的,可以将缓存添加到以下几个缓存里即可 actionTokens clientSessions loginFailures offlineClientSessions offlineSessions sessions work
阅读全文
摘要:我们在对keycloak框架中的核心项目keycloak-services进行二次开发过程中,发现了一个问题,当时有这种需求,在keycloak-services中需要使用infinispan缓存,我们直接添加infinispan-core引用之后,在启动keycloak进出错了,提示我们没有找到i
阅读全文
摘要:reCAPTCHA是Google公司推出的一项验证服务,使用十分方便快捷,在国外许多网站上均有使用。它与许多其他的人机验证方式不同,它极少需要用户进行各种识图验证。 它的使用方式如下如所示,只需勾选复选框即可通过人机验证。 虽然简单但效果很好,因为Google会收集一些浏览器信息,网络信息,鼠标轨迹
阅读全文
摘要:在keycloak中集成了各种社区用户的登录与同步方案,当用户从第三方完成oauth认证之后,回调到keycloak的endpoint地址,在这里将会获取社区用户的信息,完成对数据从社区网站到keycloak网站的同步操作,下面介绍3种同步时的类型,下图是配置同步截图: 各种模块介绍 在Keyclo
阅读全文
摘要:在 Infinispan 配置文件中切换发现协议从广播到组播,需要修改 JGroups 的配置,因为 Infinispan 使用 JGroups 来处理集群通信和发现。下面是一个示例,展示如何将配置从广播切换到组播。 首先,确保您已经有一个 Infinispan 配置文件,比如 `infinispa
阅读全文
摘要:# MFA多因子认证配置 Keycloak 是一个开源的身份和访问管理解决方案,支持多因素认证(MFA)的配置非常灵活。下面是一些涉及Keycloak MFA相关的配置和步骤: 1. **启用MFA**: - 登录到Keycloak管理控制台。 - 找到您的Realm(领域)并进入Realm设置。
阅读全文
摘要:# 概念 在Java中,`CountDownLatch`是一个线程同步的辅助类,用于等待其他线程完成操作。如果`CountDownLatch`实例被丢失或无法访问,可能会导致无法正常使用该对象。这可能会导致等待线程永远处于等待状态,无法继续执行。 如果意外丢失了`CountDownLatch`对象,
阅读全文
摘要:keycloak提供了登出的接口,不过它是一个post方法,需要你根据client_id,client_secret及refresh_token进行登出操作的,有时不太灵活,所以我又自己封装了一下,通过客户端浏览器上存储的session_id进行会话登出。 # kc提供的logout * api:{
阅读全文
摘要:首先我们应该知道,写到数据库里的时间,主要和你的mysql时区`system_time_zone`有关,而把mysql里的数据取出来,以json形式响应到浏览器上,这个时间会经过反序列化的过程,这时时间和注解`@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",
阅读全文
摘要:# keycloak存到cookie中的值 * AUTH_SESSION_ID * KEYCLOAK_IDENTITY * KEYCLOAK_SESSION ## AUTH_SESSION_ID 用户的当前session_state,它是会话级的,关闭浏览器就没了 ## KEYCLOAK_IDENT
阅读全文
摘要:安全配置Security Defenses 通过对Security Defenses的配置 ,可以对http头添加相应的安全配置 ,如CSP, X-Frame-Options, X-Content-Type-Option等 1 X-Frame-Options 推荐使用CSP,不建议使用X-Frame
阅读全文
摘要:我们需要认清session会话和token令牌的区别,在keycloak中,他们是不同的两个概念,职责也不一样。 session【session_state】 它被保存到浏览器的cookie中,有4个会话属性,这主要基于高低版本浏览器和记住我功能考虑而设计的 按着kc系统获取会话的优先级,他们分别是
阅读全文
摘要:# JWT没有被持久化? * 我们总是说,JWT(json web token)是一个自解释的token,里面有用户相关的信息,它不需要被保存在服务端,降低了服务端的压力; * 同时有人会说,如果希望验证token的实时在线性,你用JWT怎么实现? * 有一些人直接会说,把这个JWT保存到redis
阅读全文