随笔分类 -  keycloak

统一认证中心
摘要:安全配置Security Defenses 通过对Security Defenses的配置 ,可以对http头添加相应的安全配置 ,如CSP, X-Frame-Options, X-Content-Type-Option等 1 X-Frame-Options 推荐使用CSP,不建议使用X-Frame 阅读全文
posted @ 2023-03-21 18:34 张占岭 阅读(250) 评论(0) 推荐(0) 编辑
摘要:我们需要认清session会话和token令牌的区别,在keycloak中,他们是不同的两个概念,职责也不一样。 session【session_state】 它被保存到浏览器的cookie中,有4个会话属性,这主要基于高低版本浏览器和记住我功能考虑而设计的 按着kc系统获取会话的优先级,他们分别是 阅读全文
posted @ 2023-02-10 11:28 张占岭 阅读(1340) 评论(0) 推荐(0) 编辑
摘要:# JWT没有被持久化? * 我们总是说,JWT(json web token)是一个自解释的token,里面有用户相关的信息,它不需要被保存在服务端,降低了服务端的压力; * 同时有人会说,如果希望验证token的实时在线性,你用JWT怎么实现? * 有一些人直接会说,把这个JWT保存到redis 阅读全文
posted @ 2023-02-10 10:12 张占岭 阅读(332) 评论(0) 推荐(0) 编辑
摘要:jwt扩展字段介绍 为了实现业务的定制化需求和开发人员使用的便利,对kc的JWT进行了扩展,这个扩展字段在解析JWT之后都可以看到。 jwt的payload { "exp": 1675329802, "iat": 1675329622, "jti": "2a80e925-b9ce-464f-822d 阅读全文
posted @ 2023-02-03 10:16 张占岭 阅读(727) 评论(0) 推荐(0) 编辑
摘要:# 17.1远程资源授权准备 ## 17.1.1认证和访问流程图 参考:http://www.zyiz.net/tech/detail-141309.html ![](https://img2022.cnblogs.com/blog/118538/202209/118538-202209211742 阅读全文
posted @ 2022-09-21 17:46 张占岭 阅读(363) 评论(0) 推荐(0) 编辑
摘要:direct grant我们把它理解为通过rest接口直接认证,这是oauth2里的密码认证方式,即`grant_type=password`,它不需要走授权码这种复杂的流程,相当于传统的表单认证;keycloak事实上为我们准备了一个direct grant,只不过它只能使用username和pa 阅读全文
posted @ 2022-01-13 16:39 张占岭 阅读(899) 评论(0) 推荐(0) 编辑
摘要:keycloak运行在wildfly(jboss)中,如果希望查询它在jboss中的运行情况,如堆内存,线程,GC等,可以通过jconsole进行远程监控。 参考: https://goldmann.pl/blog/2013/04/16/jmx-connections-to-jboss-as/ ht 阅读全文
posted @ 2022-01-12 09:14 张占岭 阅读(345) 评论(0) 推荐(0) 编辑
摘要:由于我的jboss项目去在容器中运行的,所以我习惯上把这些扩展功能添加到cli文件 ,然后在Dockerfile里把它们进行添加,动态为主程序添加功能。 * Dockerfile ``` FROM jboss/keycloak:14.0.0 USER root # 日志 ADD log4.cli / 阅读全文
posted @ 2021-12-24 10:43 张占岭 阅读(197) 评论(0) 推荐(0) 编辑
摘要:官方的keycloak的适配器并没有提供.net版本的,所以我们需要自己去实现一下,目前打算把资源服务器对接KC之后,让资源服务器的API接口通过KC的UMA授权方式来管理起来,所以需要对这个功能进行开发,springboot版本官方已经实现,.net core版本我们自己实现了一下,对UMA授权不 阅读全文
posted @ 2021-11-18 17:19 张占岭 阅读(434) 评论(1) 推荐(0) 编辑
摘要:之前写过基于keycloak11.0.3版的[微信认证](https://www.cnblogs.com/lori/p/14274547.html)的实现,而在升级到keycloak14.0.0之后,这个认证出现了问题,原因是因为人家keycloak内部源码又变了。 * 影响类文件 `server- 阅读全文
posted @ 2021-11-02 14:56 张占岭 阅读(484) 评论(0) 推荐(0) 编辑
摘要:keycloak缓存的级别,往大了说有realm级的,一个realm是一个缓存,这也是它的生命周期;往小了说,也有user级的,即一个用户一个缓存,当a用户和b用户,它们的缓存是两个。 # 缓存提供者 `InfinispanConnectionProvider`是一个接口,主要是对infinispa 阅读全文
posted @ 2021-10-28 17:42 张占岭 阅读(703) 评论(0) 推荐(0) 编辑
摘要:keycloak提供了完善的授权功能,即在kc端对资源服务器的各种资源进行管理,然后就可以完成对它们的管控,这些资源可以根据kc的用户、角色、组等信息进行授权。 资源服务器客户端配置 以springboot接口KC为例,说一下它的配置文件 keycloak: auth-server-url: htt 阅读全文
posted @ 2021-10-25 10:58 张占岭 阅读(2267) 评论(0) 推荐(0) 编辑
摘要:# keycloak11.0.3 由于`undertow`不支持中文的cookie,所以如果使用记住密码功能时,存储的`KEYCLOAK_REMEMBER_ME`会出现错误,导致应用程序崩溃。 * 原码 ![](https://img2020.cnblogs.com/blog/118538/2021 阅读全文
posted @ 2021-10-14 15:06 张占岭 阅读(198) 评论(0) 推荐(0) 编辑
摘要:场景 keycloak出现"用户已登录"的界面的场景我们需要先搞清楚,主要是这样的操作: 用户打开一个浏览器,在上面同时打开多个登录窗口 用户先在一个窗口上进行登录 用户再第二个窗口上再进行登录 这时,出现用户已经登录,事实上,在kc上,如果你已经登录了,则不能再使用其它用户登录了 原因 同一个浏览 阅读全文
posted @ 2021-10-13 11:03 张占岭 阅读(718) 评论(0) 推荐(0) 编辑
摘要:登录状态保持,即当用户关闭浏览器之后,下次打开kc仍然保持登录状态,这是通过kc里的记住密码功能实现的 原理 通过在kc下的cookies添加KEYCLOAK_REMEMBER_ME,用来标签是否使用持久化的sessionId,默认情况下,kc使用会话级的sessionId,即AUTH_SESSIO 阅读全文
posted @ 2021-10-08 09:31 张占岭 阅读(960) 评论(0) 推荐(0) 编辑
摘要:# cookie的几个属性 1 httpOnly:true 表示禁止客户端读cookie,即只能在服务端读取它 2 SameSite:用来限制第三方 Cookie,从而减少安全风险。 * Strict最为严格,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。换言之,只有当 阅读全文
posted @ 2021-07-21 09:56 张占岭 阅读(3428) 评论(0) 推荐(0) 编辑
摘要:rest资源 对于我们集成keycloak来说,你可能会遇到它没有实现的功能,这时需要对kc进行扩展,资源的扩展是其中一个方面,它需要实现RealmResourceProvider和RealmResourceProviderFactory两个接口,然后在KC启动之后,它可以被注册到IOC容器里,方便 阅读全文
posted @ 2021-05-12 10:23 张占岭 阅读(1444) 评论(0) 推荐(0) 编辑
摘要:重要的事说在前头 在/protocol/openid-connect/token请求过程中(认证,获取code,刷新token等), client_id要保持一致,不能混用 使用哪个client_id进行的表单登录,生成的code码,就用哪个client_id来获取token token中是哪个cl 阅读全文
posted @ 2021-04-29 10:12 张占岭 阅读(9149) 评论(3) 推荐(1) 编辑
摘要:1 OpenID & OAuth2 & SAML 1.1 相关资料 https://github.com/keycloak/keycloak https://www.keycloak.org/docs/latest/server_development https://docs.cbioportal 阅读全文
posted @ 2021-04-29 10:05 张占岭 阅读(2264) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示