- 2024-08-08keycloak~关于社区登录的过程说明
keycloak将第三方登录(社区登录)进行了封装,大体主要会经历以下三个过程:打开社区认证页面,输入账号密码或者扫码,完成社区上的认证由社区进行302重定向,回到keycloak页面keycloak与社区完成一次oauth2授权码认证,通过社区返回的code来获取token,再通过token来获取社区上的用户信息,在这
- 2024-07-29keycloak~为微信二维码添加动态kc认可的动态state
本实例将通过keycloak社区登录实现微信二维码的登录,并且二微码不是keycloak动态生成,而是通过微信提供的js生成的,在页面上直接输出的方式实现的。动态state在Keycloak中使用微信二维码登录时,state参数确实是由后端生成的,并且用于确保登录过程的安全性,防止CSRF攻击等。如果你尝试
- 2024-07-12keycloak~使用自定义的注册页
添加FormAction的实现packageorg.keycloak.phone.authentication.forms;importorg.keycloak.Config;importorg.keycloak.authentication.FormAction;importorg.keycloak.authentication.FormActionFactory;importorg.keycloak.authentication.FormContext;importorg.
- 2024-05-24keycloak~登出的回调接口
对于用户的登出/注销操作,都可以设置一个回调接口,这个接口是作用到client上面的,并且必须是POST接口,相关回调方法的调用,可以参考keycloak14.0.0的这个方法:org.keycloak.services.managers.sendBackChannelLogoutRequestToClientUri核心代码段LogoutTokenlogoutToken=sessio
- 2024-05-23keycloak~正确让api接口支持跨域
相关参考https://leejjon.medium.com/how-to-allow-cross-origin-requests-in-a-jax-rs-microservice-d2a6aa2df484https://stackoverflow.com/questions/28065963/how-to-handle-cors-using-jax-rs-with-jerseyhttps://keycloak.discourse.group/t/cors-problem-in-custom-re
- 2024-05-22keycloak~自定义认证流设置固定redirect_uri
redirect_uri在keycloak进行认证成功之后,会重定向到这个目标页面,一般为用户的来源页,即你在登录之前访问的页面;自定义认证流是指对keycloak中的brower和directgrant两个认证方式的过程添加自定义策略,如在用户登录成功时,检查它的密码强度,如果不符合要求,就跳到一个说明页面,告诉用户,
- 2024-05-20keycloak~作为第三方登录的对接标准
当某些合作商希望把你的keycloak作为他们的一种第三方登录方式时,就像微信,google,github,使用你的keycloak上的账户资源时,你就需要考虑如何做一个开放的,标准的文档了。一基本角色认证提供者:keycloak服务,https://kc.xxx.com第三方应用:先到keycloak上注册,由keycloak颁发client_id
- 2024-05-16apisix~authz-keycloak插件介绍
参考:https://apisix.apache.org/docs/apisix/plugins/authz-keycloak/kc插件源码梳理及原理说明如果只是进行keycloak颁发的token进行校验(签名校验和有效期校验),那么我们可以使用jwt-auth这个插件实现,并且已经对这个插件进行二次开发,支持jwt内容解析与向下请求头的传递。作用
- 2024-05-10keycloak~登录皮肤动态切换的尝试
keycloak的登录皮肤theme,可以设置领域全局的,或者每个客户端进行单独设置,这种设计是没有问题的,但有时,一个客户端可能有多种主题,这时,你只能再加个客户端,对应新的主题,但这样不方便日后的统计,因为很多统计维度都是以client为基础的,所以,我们需要在进入登录页时,让开发人员转具体的皮肤参
- 2024-04-23keycloak~使用jwks验证token的合法性
keycloak提供了jwks服务,其地址可以在/auth/realms/fabao/.well-known/openid-configuration的返回结果中找到,jwks_uri它表示了公钥的颁发者,可以使用颁发出来的公钥来验证token的签名,基地址也是固定的/auth/realms/fabao/protocol/openid-connect/certs。springboot构建keycloak的
- 2024-04-18keycloak~jwt的rs256签名的验证方式
接口地址keycloak开放接口地址:/auth/realms/fabao/.well-known/openid-configurationrsa算法相关术语RSA算法是一种非对称加密算法,其安全性基于大整数分解的困难性。在RSA算法中,有以下几个关键参数:n(模数):n是一个大整数,通常为两个大素数p和q的乘积,即n=p*q。n用
- 2024-04-13Keycloak中授权的实现
在Keycloak中实现授权,首先需要了解与授权相关的一些概念。授权,简单地说就是某个(些)用户或者某个(些)用户组(Policy),是否具有对某个资源(Resource)具有某种操作(Scope)的权限(Permission)。所以,授权是一种权限管理,它建立在认证的基础上:用户首先要完成认证(Authentication),才能谈授权(Authorizatio
- 2024-04-11keycloak~RequiredActionProvider的使用
使用场景RequiredActionProvider,它是在认证过程中,需要当前登录的用户执行个性化的动作;当用户符合条件,就被执行RequiredActionProvider对作,当RequiredActionProvider没有正常提交(context.success())之前,当前用户仍然是未登录状态,这在keycloak框架中,也有一些默认的个性化动作,它与
- 2024-04-10keycloak~对框架中提供的Provider总结
提供者目录ProviderAuthenticatorBaseDirectGrantAuthenticatorAbstractFormAuthenticatorAbstractUsernameFormAuthenticatorRequiredActionProviderFormActionProtocolMapperAbstractOIDCProtocolMapperRealmResourceProvider具体provider的作用Provid
- 2024-04-08keycloak~网站对接到Keycloak的步骤
新网站对接到KC的部署kc的环境向kc申请自己的客户端kc的登录接口通过code换token接口刷新token接口kc的用户信息接口kc的jwttoken说明1.kc的环境测试环境:https://test-kc.xxx.com预发布环境:https://pre-kc.xxx.com生产环境:https://kc.xxx.com2.向kc申请自己的客
- 2024-04-06在Keycloak中实现多租户并在ASP.NET Core下进行验证
Keycloak是一个功能强大的开源身份和访问管理系统,提供了一整套解决方案,包括用户认证、单点登录(SSO)、身份联合、用户注册、用户管理、角色映射、多因素认证和访问控制等。它广泛应用于企业和云服务,可以简化和统一不同应用程序和服务的安全管理,支持自托管或云部署,适用于需要安全、灵
- 2024-04-03keycloak~在认证的action中自定义重定向地址
场景与实现逻辑我的登录接口,在输入账号密码成功后进行中间页中间页可以通过添加Authenticator的实现类来写逻辑authenticate方法是渲染页面的,action方法是提交表单后的逻辑context.success()方法表示认证成功,将进行重写向操作可以通过Response.status(302).header(HttpHeade
- 2024-03-20vue3 项目接入keycloak
之前都是vue2项目接入keycloak,网上表较多资料参考,vue3得比较少记录一下。这个前端项目是jetlinks社区版。引入了 dsb-norge/vue-keycloak-js插件, https://github.com/dsb-norge/vue-keycloak-js,还是要看官方得文档、示例。1.官方提供得示例比较全,我需要得是vue3typescri
- 2024-03-17最详细的Keycloak教程(建议收藏):Keycloak实现手机号、验证码登陆——(三)基于springboot&keycloak+vue的前后端分离项目
在前面两节分别介绍了Keycloak的下载与使用和keycloak与springboot的集成。接下来第三节让我们一步步的去完成一个简单的前后端分离项目,并且可以扩展实现sso。一、简介本文将介绍如何使用SpringBoot、Keycloak和Vue构建一个具有前后端分离架构的Web应用程序。通过将前
- 2024-02-02docker部署基于keycloak服务认证的outline
layout:posttitle:docker部署基于keycloak服务认证的outlinekeywords:outline,docker,keycloakdescription:docker部署基于keycloak服务认证的outlinecategories:outline之前一篇博文介绍到通过outline的部署,全程使用github上这个脚本实现,部署过程自动化程度高。但OI
- 2023-11-27Gerrit集成keycloak认证
Gerrit集成KeyCloak实践背景: 为了更好的维护代码仓库,实现公司内部员工和外部员工账号集中管理,搭建Keycloak身份认证平台集成Gerrit代码仓库。Keycloak是什么?Keycloak是一个开源的、高度可定制的身份认证和授权管理解决方案,它提供了多种认证方法,包括单点登录、OAuth2.0和Op
- 2023-11-23keycloak~登录步骤页login-actions/authenticate出现无限次302跳转的原因与解决
问题出现的前提keycloak通过k8s部署,并进行了集群部署,共2个节点通过域名解析后,直接到外网LB,在LB上配置了k8s-ingress的IP,端口是80和443在keycloak应用的ingress配置中,对域名进行了keycloak服务的绑定问题的描述有时间无法完成登录,点登录后,刷新了一次登录页,未完成登录行为
- 2023-11-23Linux中启动KeyCloak
版本信息WSL:2Linux:Ubuntu20.04LTSkeyCloak:21.1.2JDK:17.0.9Linux命令所有命令若有权限问题,前面加sudo即可rm-rfoldermvfoldertarget查看版本信息lsb_release-aJDK安装配置下载:wgethttps://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.ta
- 2023-11-21keycloak~分布式缓存的使用
keycloak目前提供了几种分布式缓存,我们自己的缓存,如果希望是分布式的,可以将缓存添加到以下几个缓存里即可actionTokensclientSessionsloginFailuresofflineClientSessionsofflineSessionssessionswork如果你希望自己开发分布式缓存,还是需要复杂的,需要配置,检查,获取远程
- 2023-10-30keycloak~为keycloak-services项目添加第三方模块(首创)
我们在对keycloak框架中的核心项目keycloak-services进行二次开发过程中,发现了一个问题,当时有这种需求,在keycloak-services中需要使用infinispan缓存,我们直接添加infinispan-core引用之后,在启动keycloak进出错了,提示我们没有找到infinispan.Cache,于是我尝试了如下方法,最终解决了问