Keycloak基于smal2.0实现sso登陆操作

本文详细介绍了在Windows和Linux系统上部署Keycloak21.1.2版本,包括安装、配置、创建realm、客户端和用户,以及与SpringBoot和Vue项目的集成,特别提到了更换MySQL8.0+数据库的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Windows版

1、下载并安装keycloak

2、启动keycloak

3、访问keycloakUI页面

4、创建realm

5、在TestRealm里面创建客户端

6、创建realm用户

7、查看realm的smal2.0xml文件(idp-metadata元文件)

8、配置SpringBoot的扫描文件

9、keycloak配置接入SpringBoot

10、vue项目构建

11、部署前后端项目

二、Linux版

1、下载并安装keycloak

2、启动keycloak

3、访问keycloakUI页面

4、创建realm

5、在TestRealm里面创建客户端

6、创建realm用户

7、查看realm的smal2.0xml文件

8、配置SpringBoot的扫描文件

10、vue项目构建

11、部署前后端项目

三、更换数据库为MySQL--只支持MySQL8.0+版本

1、进入到keycloak的conf目录下​编辑

2、编辑keycloak.conf​编辑

3、编辑完后,对keycloak.conf进行构建生效


前言

最近在做SSO的一个功能,用到了keycloak的开源框架。下面是一些具体的操作。

了解keycloak

了解smal

本次研究的主要是keycloak21.1.2的版本,对应的JDK版本为JDK17、MySQL版本为8.0+。

对了,玩之前记得安装好对应的JDK版本哦,不然会启动失败的。

接下来就直接上干货吧

一、Windows版

1、下载并安装keycloak

官网:Keycloak

本次使用21.1.2版本

下载后找一个路径解压

解压完主要就是这几个文件进行操作,了解一下

2、启动keycloak

启动命令,在keycloak解压目录里面进行cmd

bin\kc.bat start-dev

启动成功

3、访问keycloakUI页面

首次访问keycloak页面

创建完用户后

访问管理员控制台,进行管理员账号登陆,点击上图的administration Console即可进入下面的页面

进入页面后我们看到的是master的realm界面,我们需要创建自己的realm

4、创建realm

创建成功后

5、在TestRealm里面创建客户端

配置后的client还需要细化配置,见下图

截图里面包含SpringBoot配置的SP client ID

在keys界面导出一个keystore.jps的文件,SpringBoot和keycloak交互时需要根据这个去生成请求参数

截图里面的包含SP keystore密码、SP 私钥Id、SP 私钥密码

6、创建realm用户

7、查看realm的smal2.0xml文件(idp-metadata元文件)

截图里面的URLI是dP的endpoint,比如登录、退出的时候请求用的URL,这个URL可以从idp-metadata文件中获取到;公钥是IdP的证书公钥,用于在验证SamlResponse签名,这个公钥可以从idp-metadata文件中获取到

8、配置SpringBoot的扫描文件

文章上面导出和生成的文件如上图所示

9、keycloak配置接入SpringBoot

10、vue项目构建

将Vue打包后的dist文件夹copy到SpringBoot项目中的Resource文件夹下,并重命名为static

11、部署前后端项目

这里使用的是tomcat部署,所以将上面的SpringBoot打包后,放到tomcat的webapps文件夹下,启动tomcat即可访问,进行sso测试了

二、Linux版

1、下载并安装keycloak

官网:Keycloak

本次使用21.1.2版本

下载后找一个路径解压

解压完主要就是这几个文件进行操作,了解一下

2、启动keycloak

启动前先设置一个环境变量

export KEYCLOAK_ADMIN=admin export KEYCLOAK_ADMIN_PASSWORD=admin

然后启动

bin\kc.bat start-dev

启动成功

3、访问keycloakUI页面

首次访问keycloak页面

创建完用户后

访问管理员控制台,进行管理员账号登陆,点击上图的administration Console即可进入下面的页面

进入页面后我们看到的是master的realm界面,我们需要创建自己的realm

4、创建realm

创建成功后

5、在TestRealm里面创建客户端

配置后的client还需要细化配置,见下图

截图里面包含SpringBoot配置的SP client ID

在keys界面导出一个keystore.jps的文件,SpringBoot和keycloak交互时需要根据这个去生成请求参数

截图里面的包含SP keystore密码、SP 私钥Id、SP 私钥密码

6、创建realm用户

7、查看realm的smal2.0xml文件

截图里面的URLI是dP的endpoint,比如登录、退出的时候请求用的URL,这个URL可以从idp-metadata文件中获取到;公钥是IdP的证书公钥,用于在验证SamlResponse签名,这个公钥可以从idp-metadata文件中获取到

8、配置SpringBoot的扫描文件

文章上面导出和生成的文件如上图所示

9、keycloak配置接入SpringBoot

10、vue项目构建

将Vue打包后的dist文件夹copy到SpringBoot项目中的Resource文件夹下,并重命名为static

11、部署前后端项目

这里使用的是tomcat部署,所以将上面的SpringBoot打包后,放到tomcat的webapps文件夹下,启动tomcat即可访问,进行sso测试了

三、更换数据库为MySQL--只支持MySQL8.0+版本

1、进入到keycloak的conf目录下

2、编辑keycloak.conf

3、编辑完后,对keycloak.conf进行构建生效

 bin/kc.sh build

出现下图即可进行启动

Linux版本和Windows一样

踩坑点:Linux更换完数据库后需要重新配置环境变量添加admin账号

部分服务器可能登陆控制台的时候会报https的错误,只需要把数据库的realm表的SSL_REQUIRED字段的值改成NONE即可

欢迎大家在评论区讨论,今天的干货分享就到此结束了,如果觉得对您有帮助,麻烦给个三连!

以上内容为本人的经验总结和平时操作的笔记。若有错误和重复请联系作者删除!!感谢支持!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leen@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值