系列目录
(一)keycloak 部署运行及源码打包
(二)keycloak 配置运行
(三)keycloak 基于SpringBoot、Servlet的客户端开发
(四)keycloak 自定义用户(SPI)开发
(五)keycloak 自定义主题
(未完成)(六)keycloak 添加登录验证码功能
(七)keycloak 设置客户端访问类型 bearer-only
(八)keycloak 设置客户端访问类型 confidential
(九)keycloak使用nginx来配置https
文章目录
前言
keycloak是一套完整的开源认证授权管理解决方案,由红帽开发,提供了多种语言库,方便集成。本系列教程以使用为主,介绍keycloak的搭建,源码编译,以及部分功能的二次开发。
keycloak官网提供了详细的教程以及示例,可以参考官网示例进行编写开发。
官网地址 本系列教程基于官网最新版本18.0进行编写。
本章节主要介绍keycloak的运行环境搭建,以及以源码方法编译的操作。
一、官网Release下载运行
1.下载
进入官网下载页面 https://www.keycloak.org/downloads,选择 Keycloak, WildFly版本已经废弃,请勿再使用。keycloak新版本已切换到quarkus框架。
2.JDK下载
(如果你的电脑中已经配置好JDK环境,并且JDK版本不低于11,可以忽略此步骤)安装JDK环境,keycloak18 运行需要jdk11及以上版本,JDK可以选择openjdk官网进行下载,链接如下 https://openjdk.org/,当然也可以选择其他版本的JDK,这里以openjdk为例。解压下载下来的JDK压缩包。
3.配置JDK环境
现在打开keycloak目录,找到bin文件夹,bin文件夹下有一个kc.bat 文件,因为我们还没有配置JDK的环境变量,(如果你电脑中已经配置过环境变量,直接跳转到下一步)
打开kc.bat文件 跳转到110(左右)
if “x%JAVA_HOME%” == “x”
在这句前一行添加刚才下载的JDK11的路径,如
set “JAVA_HOME=E:\jdk18”
4.运行
打开cmd窗口,进入bin目录,在cmd命令行窗口输入 kc.bat start-dev 运行
看到 DO NOT use this configuration in production. 这句话,代表以及运行成功了
现在打开浏览器,输入 http://localhost:8080/ ,你就可以看到控制台界面了
控制台的设置和配置,我们放在后面一起介绍。下面介绍第二种方式,编译源码并运行。
二、基于源码编译运行
1.git克隆源码
git clone https://github.com/keycloak/keycloak.git
2.编译源码
使用maven进行编译,打包分为两种方式,
2.1 基于widlfy(不推荐)
该方式官方已开始废弃,(但此方式打包可以运行在JDK8的环境下)
命令如下:
mvn clean install -Pdistribution -T 1C -Dmaven.compile.fork=true -DskipTests
打包结束后进入源码的目录
keycloak\distribution\server-dist\target
如果打包正确,应该会生成一个名为 keycloak-legacy-999-SNAPSHOT.zip 的文件
解压该文件,进入bin目录
先执行 add-user.sh 命令,添加一个管理员用户
选择a,添加一个管理员用户,其余步骤按照提示操作即可,(除了密码,其他可都选默认选项)
然后 双击 standalong.bat 等待执行完成后,打开控制台页面
2.2 基于quarkus,官方推荐
命令如下:
mvn -pl quarkus/dist -am -DskipTests clean install -T 1C -Dmaven.compile.fork=true -Denforcer.skip=true
mvn 命令里的参数 -T 1c 是我为了提升打包性能设置mvn打包时的cpu核心和线程数,可以删掉或根据你的电脑配置自行调整
命令执行结束后,进入目录
\keycloak\quarkus\dist\target
如果打包正确,应该会生成一个keycloak-999-SNAPSHOT.zip的文件,解压该文件后,其余的操作步骤和教程的第一步,从官方下载release的操作步骤一致,这里不在重复说明。
现在我们打开keycloak的管理控制台,在浏览器输入 http://127.0.0.1:8080/
以quarkus方式运行时系统会默认提示创建一个管理员用户,widlfy方法如果没有提前设置用户的前提下也会默认需要你创建一个管理员用户。
如上图,在红框的表单中填写一个管理员账号和密码后 点击 create 按钮,系统会自动跳转到控制台页面。
总结
以上就是keyclaok的部署搭建,我们介绍了两种方式,下一篇将开始介绍 keycloak的基本使用