keycloak 只能看,不能用,因为设计的太麻烦了。 这个网址有详细的说明https://keycloak.redhtc.com/
Spring 不提供认证服务,推荐大家可以用这个试试。
Spring 的oAuth2
的演变路径,最初是Spring security oauth
,然后Spring cloud
中引用这个包进行oauth2
的认证服务器,网上好多视频都是基于这个为基础的。 2019 年,Spring 宣布,Spring security oauth
将会被废弃,其中的功能分为两部分:
其实 Spring 刚开始是不想开发Spring Authorization Server
,推荐了Keycloak 与UAA,后来社区里面呼吁,就立项Spring Authorization Server
,但是开发进度堪比蜗牛,一年多了,版本还是 0.1.2。文档,例子都没有,看来 Spring 真的是要放弃认证服务器了。
红帽子维护,开源,功能全,几乎包含了能想到的所有功能,如果想充分使用起来,至少要看一周的文档。当然实际情况下,只会用到其中 5%的功能。
下面只给出一个例子,实际项目中,是会不这么操作的。
使用 Docker 进行安装,这里给出了官网的一个例子。实际上的安装要复杂的多,这里就做一个快速开始。
docker run -p 8080:8080 -e KEYCLOAK_USER=admin-e KEYCLOAK_PASSWORD=admin jboss/keycloak
首先要在数据库中创建一个空的数据库
Create Database If Not Exists keycloak;
然后在 docker compose 中生成这个容器
#keycloakkeycloak:hostname: keycloakbuild: ./keycloakports:- 18080:8080depends_on:- mysqlrestart: alwaysenvironment:KEYCLOAK_USER: adminKEYCLOAK_PASSWORD: fanhlDB_VENDOR: mysqlDB_ADDR: mysqlDB_USER: ${DB_USER}DB_PASSWORD: ${DB_PASS}DB_DATABASE: keycloakvolumes:- /etc/localtime:/etc/localtime:ro
选择默认的是中文就可以了。