• 2024-09-29O365和Keycloak结合SSO实现
    背景内部用keycloak实现SSO,近期引入了Office365,需要接入keycloak(saml协议),实现SSO。遇到的问题Office365按照官方文档配置后,负责keycloak的同学帮着调试好后,sso总是提示失败。总是提示找不到用户。按照官方文档https://learn.microsoft.com/en-us/entra/identity/hybrid/con
  • 2024-09-25keycloak~关于授权码认证中的scope的实践
    前言1.scope参数的作用定义权限:scope用于声明请求访问的资源和权限。常见的值包括openid、profile、email等。影响返回的数据:如果你在授权请求中指定了某些scope,在后续的token请求中,Keycloak会根据这些scope返回相应的信息。openid用于指示请求者希望使用Open
  • 2024-09-08Keycloak 报 failed to initialize keycloak
    在访问Keycloak的Account页面时,提示下列信息:在浏览器开发者工具的Network中看到下列403请求错误:报错解法经过查找(关键词failedtoinitializekeycloak403),在此帖子中找到了答案,需要在Client>AccountConsole中修改下列配置:在WebOrigins中设置“*”,默认此处为空。
  • 2024-09-03keycloak~Refresh_token阶段不走RequiredAction
    Refresh_token是在access_token过期之后,用来换新的access_token的,有了Refresh_token之后,用户可以在很长一段时间不需要重新登录,这对于用户体验是有好处的;RequiredAction是一种登录阶段的必选行为,当一个用户被某个RequiredAction标记之后,用户必须完成RequiredAction,才算完成本次登
  • 2024-09-03keycloak~scope客户端模板的使用
    scope为何物?scope在oauth2中表示授权的范围,另外也可以理解为,根据认证时scope的参数,在构建jwt时,返回更多的信息;比如在keycloak中,你的可选scope(optionalscope)中添加了address这个模板,当你通过/auth/realms/{realmId}/protocol/openid-connect/token进行认证时,你的参数scope中出
  • 2024-08-19OpenID Connect(OIDC)认证--keycloak与springboot项目的整合
    OpenIDConnect认证–keycloak与springboot项目的整合文章目录OpenIDConnect认证--keycloak与springboot项目的整合前言什么是Keycloak?项目配置1.创建SpringBoot项目2.设置Keycloak服务器3.在Keycloak中创建Realm和Client4.配置SpringB
  • 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应用程序。通过将前