Spring Boot 3 和 Keycloak

问题描述 投票:0回答:1
我只想使用 Keycloak 添加到我的 Spring Cloud Gateway 授权。 我正在使用 Spring Boot 3 版本。 创建一个像“/auth/login”这样的自定义控制器是个好主意,这样当请求发送我的服务 POST 用户名和密码时,请求“https://keycloak.some.project.com/auth/realms/aifc- Portal/protocol/openid-connect/token”与 RestTemplate 并获取令牌? 同样相关的是,如果我执行“/auth/signup”并使用 POST 将请求参数发送到使用 RestTemplate 的 keycloak?

spring-boot keycloak gateway
1个回答
0
投票
创建一个像“/auth/login”这样的自定义控制器是个好主意吗?这样,当请求发送时,我的服务会从请求中发送用户名和密码

不。您的应用程序不应收集用户凭据,这不是 OAuth2 的工作原理。您的授权服务器应该已经具备注册和登录所需的所有内容。

如果您的前端呈现在服务器上(Thymeleaf、JSF...),则使用

oauth2Login

 将其配置为“机密”OAuth2 客户端,并保持网关对 OAuth2 透明(与安全无关)。

如果您的前端是 SPA(Angular、React、Vue...),请考虑应用 BFF 模式,并将网关配置为带有

oauth2Login

TokenRelay
 过滤器的“机密”客户端。我在 
DZone我的 Github 存储库上为此编写了完整的教程。

© www.soinside.com 2019 - 2024. All rights reserved.