目录
7、查看realm的smal2.0xml文件(idp-metadata元文件)
前言
最近在做SSO的一个功能,用到了keycloak的开源框架。下面是一些具体的操作。
本次研究的主要是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即可
欢迎大家在评论区讨论,今天的干货分享就到此结束了,如果觉得对您有帮助,麻烦给个三连!
以上内容为本人的经验总结和平时操作的笔记。若有错误和重复请联系作者删除!!感谢支持!!