随笔分类 -  keycloak

统一认证中心
摘要:会话有效期 在 Keycloak 中,"SSO Session Idle" 和 "SSO Session Max" 是用于配置单点登录(SSO)会话的两个参数。这两个参数影响用户在系统中的会话过期和最大有效时间。 SSO Session Idle(单点登录会话空闲时间): 定义: 表示用户在系统中没 阅读全文
posted @ 2024-10-23 08:51 张占岭 阅读(247) 评论(0) 推荐(0) 编辑
摘要:Consent Required在keycloak中是“授权所需”,或者是“同意必需“的意思,它类似于oauth2授权时的“确认”,当你在第三方认证后,通过oauth2协议,你可以把用户相关信息返回给应用程序,而这时,用户自己需要确认一下,自己的这些信息是否可以给应用程序。 为客户端配置Consen 阅读全文
posted @ 2024-10-21 14:13 张占岭 阅读(36) 评论(0) 推荐(0) 编辑
摘要:一 refresh_token刷新access_token Keycloak会话管理中,获取到accessToken和refreshToken后,基于accessToken交换用户数据或者参与KeycloakAPI的请求,当accessToken过期的时候,可使用refreshToken去交换新的a 阅读全文
posted @ 2024-10-16 17:30 张占岭 阅读(417) 评论(2) 推荐(2) 编辑
摘要:前言 1. scope 参数的作用 定义权限:scope 用于声明请求访问的资源和权限。常见的值包括 openid、profile、email 等。 影响返回的数据:如果你在授权请求中指定了某些 scope,在后续的 token 请求中,Keycloak 会根据这些 scope 返回相应的信息。 o 阅读全文
posted @ 2024-09-25 11:08 张占岭 阅读(337) 评论(0) 推荐(1) 编辑
摘要:Refresh_token是在access_token过期之后,用来换新的access_token的,有了Refresh_token之后,用户可以在很长一段时间不需要重新登录,这对于用户体验是有好处的;RequiredAction是一种登录阶段的必选行为,当一个用户被某个RequiredAction 阅读全文
posted @ 2024-09-03 15:18 张占岭 阅读(62) 评论(0) 推荐(0) 编辑
摘要:scope为何物? scope在oauth2中表示授权的范围,另外也可以理解为,根据认证时scope的参数,在构建jwt时,返回更多的信息;比如在keycloak中,你的可选scope(optional scope)中添加了address这个模板,当你通过/auth/realms/{realmId} 阅读全文
posted @ 2024-09-03 09:14 张占岭 阅读(227) 评论(0) 推荐(0) 编辑
摘要:keycloak将第三方登录(社区登录)进行了封装,大体主要会经历以下三个过程: 打开社区认证页面,输入账号密码或者扫码,完成社区上的认证 由社区进行302重定向,回到keycloak页面 keycloak与社区完成一次oauth2授权码认证,通过社区返回的code来获取token,再通过token 阅读全文
posted @ 2024-08-08 15:38 张占岭 阅读(260) 评论(0) 推荐(2) 编辑
摘要:本实例将通过keycloak社区登录实现微信二维码的登录,并且二微码不是keycloak动态生成,而是通过微信提供的js生成的,在页面上直接输出的方式实现的。 动态state 在Keycloak中使用微信二维码登录时,state参数确实是由后端生成的,并且用于确保登录过程的安全性,防止CSRF攻击等 阅读全文
posted @ 2024-07-29 10:28 张占岭 阅读(154) 评论(0) 推荐(1) 编辑
摘要:添加FormAction的实现 package org.keycloak.phone.authentication.forms; import org.keycloak.Config; import org.keycloak.authentication.FormAction; import org 阅读全文
posted @ 2024-07-12 17:32 张占岭 阅读(92) 评论(0) 推荐(0) 编辑
摘要:对于用户的登出/注销操作,都可以设置一个回调接口,这个接口是作用到client上面的,并且必须是POST接口,相关回调方法的调用,可以参考keycloak14.0.0的这个方法: org.keycloak.services.managers.sendBackChannelLogoutRequestT 阅读全文
posted @ 2024-05-24 17:39 张占岭 阅读(217) 评论(0) 推荐(0) 编辑
摘要:相关参考 https://leejjon.medium.com/how-to-allow-cross-origin-requests-in-a-jax-rs-microservice-d2a6aa2df484 https://stackoverflow.com/questions/28065963/ 阅读全文
posted @ 2024-05-23 09:23 张占岭 阅读(347) 评论(0) 推荐(0) 编辑
摘要:redirect_uri在keycloak进行认证成功之后,会重定向到这个目标页面,一般为用户的来源页,即你在登录之前访问的页面;自定义认证流是指对keycloak中的brower和direct grant两个认证方式的过程添加自定义策略,如在用户登录成功时,检查它的密码强度,如果不符合要求,就跳到 阅读全文
posted @ 2024-05-22 10:08 张占岭 阅读(292) 评论(0) 推荐(0) 编辑
摘要:当某些合作商希望把你的keycloak作为他们的一种第三方登录方式时,就像微信,google,github,使用你的keycloak上的账户资源时,你就需要考虑如何做一个开放的,标准的文档了。 一 基本角色 认证提供者:keycloak服务,https://kc.xxx.com 第三方应用:先到ke 阅读全文
posted @ 2024-05-20 17:24 张占岭 阅读(1025) 评论(0) 推荐(0) 编辑
摘要:keycloak的登录皮肤theme,可以设置领域全局的,或者每个客户端进行单独设置,这种设计是没有问题的,但有时,一个客户端可能有多种主题,这时,你只能再加个客户端,对应新的主题,但这样不方便日后的统计,因为很多统计维度都是以client为基础的,所以,我们需要在进入登录页时,让开发人员转具体的皮 阅读全文
posted @ 2024-05-10 17:42 张占岭 阅读(149) 评论(0) 推荐(0) 编辑
摘要:在keycloak中,我们在进行brower浏览器的表单认证时,一般在跳到本页面时,URL上会有redirect_uri这种参数,用来告诉keycloak,在认证成功后的跳转地址,你在表单认证控制器中,可以通过context.getHttpRequest().getUri().getQueryPar 阅读全文
posted @ 2024-04-26 14:16 张占岭 阅读(74) 评论(0) 推荐(0) 编辑
摘要:com.auth0.jwk组织下面的jwks-rsa包,主要实现的是通过公钥对jwt的签名进行验证,在这个包中,它使用了包装器的设计模式,对默认的jwks提供者添加了一缓存的支持,通过建立一个GuavaCachedJwkProvider类,传入一个默认的UrlJwkProvider来将这个Provi 阅读全文
posted @ 2024-04-23 11:06 张占岭 阅读(109) 评论(0) 推荐(0) 编辑
摘要:keycloak提供了jwks服务,其地址可以在/auth/realms/fabao/.well-known/openid-configuration的返回结果中找到,jwks_uri它表示了公钥的颁发者,可以使用颁发出来的公钥来验证token的签名,基地址也是固定的/auth/realms/fab 阅读全文
posted @ 2024-04-23 09:21 张占岭 阅读(1049) 评论(0) 推荐(0) 编辑
摘要:接口地址 keycloak开放接口地址:/auth/realms/fabao/.well-known/openid-configuration rsa算法相关术语 RSA算法是一种非对称加密算法,其安全性基于大整数分解的困难性。在RSA算法中,有以下几个关键参数: n(模数):n 是一个大整数,通常 阅读全文
posted @ 2024-04-18 14:21 张占岭 阅读(950) 评论(0) 推荐(0) 编辑
摘要:使用场景 RequiredActionProvider,它是在认证过程中,需要当前登录的用户执行个性化的动作;当用户符合条件,就被执行RequiredActionProvider对作,当RequiredActionProvider没有正常提交(context.success())之前,当前用户仍然是 阅读全文
posted @ 2024-04-11 09:19 张占岭 阅读(185) 评论(2) 推荐(0) 编辑
摘要:提供者目录 Provider Authenticator BaseDirectGrantAuthenticator AbstractFormAuthenticator AbstractUsernameFormAuthenticator RequiredActionProvider FormActio 阅读全文
posted @ 2024-04-10 17:30 张占岭 阅读(318) 评论(0) 推荐(0) 编辑