创建一个像“/auth/login”这样的自定义控制器是个好主意吗?这样,当请求发送时,我的服务会从请求中发送用户名和密码不。您的应用程序不应收集用户凭据,这不是 OAuth2 的工作原理。您的授权服务器应该已经具备注册和登录所需的所有内容。
如果您的前端呈现在服务器上(Thymeleaf、JSF...),则使用
oauth2Login
将其配置为“机密”OAuth2 客户端,并保持网关对 OAuth2 透明(与安全无关)。如果您的前端是 SPA(Angular、React、Vue...),请考虑应用 BFF 模式,并将网关配置为带有
oauth2Login
和
TokenRelay
过滤器的“机密”客户端。我在DZone 和 我的 Github 存储库上为此编写了完整的教程。