(1) 注册应用
在前面注册的应用,生成了 client-id
(resource), client-secret
(secret)。
(2) 配置 application.yml
spring:
security:
oauth2:
client:
provider:
keycloak:
issuer-uri: http://localhost:8080/auth/realms/heartsuit
registration:
keycloak:
client-id: springsecurity
client-secret: 6b532289-4c11-4e62-acc0-5c67e13e4736
clientName: Keycloak
scope:
-
openid
-
profile
-
email
server:
port: 8000
(3) 启动应用
为了看到登录成功后的效果,这里增加一个 Controller
;然后运行应用。
@GetMapping(value = “/”)
public String index(Principal principal) {
return "Welcome " + principal;
}
在浏览器键入: http://localhost:8000/login
,返回一个页面,其中包含了 Keycloak
登录链接:
点击 Keycloak
登录链接,会自动跳转至 我们创建的 Keycloak
服务认证页:
输入在 Heartsuit
域下创建的用户: auth
,会进入我们之前配置的Home页,显示用户信息。
Note: 如果我们直接在浏览器中输入 http://localhost:8000
则会自动跳转到
http://localhost:8080/auth/realms/heartsuit/protocol/openid-connect/auth?response_type=code&client_id=springsecurity&state=Gd5Xj0PyueFcDtoQ6zC6w2wSVc4XjAbAFn8q_uu0qes%3D&redirect_uri=http://localhost:8000/login/oauth2/code/keycloak
链接。
可通过链接退出: http://localhost:8000/logout
借助 SpringSecurity