1、下载keycloak安装包
进入keycloak官网下载所需安装包,此次以keycloak-8.0.1.tar.gz为例。
2、解压安装keycloak
将安装文件放置要安装的位置,本人安装至opt目录下,解压安装
tar -zxvf /opt/keycloak-8.0.1.tar.gz
为了方便,此处对文件夹重命名
mv /opt/keycloak-8.0.1 /opt/keycloak
注意:如果不做数据库(默认带有h2数据库)或别的其它修改,至此已安装完毕,可直接启动
3、启动keycloak
sh /opt/keycloak/bin/standalone.sh
4、访问查看
打开浏览器访问:http://127.0.0.1:8080/auth,显示以下界面则启动成功
首次登录时必须创建管理用户,本机访问可通过页面创建管理用户,非本机访问,可通过以下命令创建
sh /opt/keycloak/bin/add-user-keycloak.sh -r master -u admin -p admin
其它配置修改
1、设置允许外部访问
Keycloak使用的wildfly服务器,默认只允许本机访问,两种解决方案如下:
1.启动时添加参数
sh /opt/keycloak/bin/standalone.sh -b=0.0.0.0 -bmanagement=0.0.0.0
2.修改配置文件standalone.xml
vi /opt/keycloak/standalone/configuration/standalone.xml
可通过 /jboss.bind.address.management 找到需修改的位置然后重新启动就可以了
2、设置控制台为中文简体显示
1.登录控制台,点击左侧菜单Realm Settings
2.右侧点Themes页签。
3.然后设置所有属性为:keycloak。
4.Internationalization Enabled选择ON。
5.将Default Locale设置为zh-CN,save保存。
6.退出重新登录即可(登录框右上角也选一下中文简体)
注意
本人在设置中文简体后成功后,又想设置回来,结果崩了,显示如下,不知为何
3、修改默认数据库为mysql
注意:
1.xml中的&符号需要转义;这里的UTF-8必须大写,否则启动时抛异常
2.module里的mysql jar和程序里的jar版本会报错
3.mysql低版本中update.sql执行出错
4.访问管理页面出错
错误信息:WARN [org.keycloak.events] (default task-2) type=LOGIN_ERROR, realmId=master, clientId=null, userId=null, ipAddress=168.160.28.37, error=ssl_required
对于所有外部IP地址,Keycloak默认为HTTPS。
解决方案:登录keycloak使用的mysql数据库,关闭SSL要求
use keycloak
update REALM set ssl_required='NONE' where id = 'master';
重启keycloak即可解决
参考资源
keycloak: http://www.keycloak.org/[图片上传中...(image.png-8d310f-1578573462011-0)]
Keycloak源码:https://github.com/keycloak/keycloak
WildFly服务器:https://wildfly.org/
Auth2.0协议:https://oauth.net/2/
Keycloak新的发行版命名为Quarkus,专为GraalVM和OpenJDK HotSpot量身定制的一个Kurbernetes Native Java框架,计划2019年底正式发布。