我有以下设置:
Frontends是Angular1 Frontends。后端是与春季安全相结合的Keycloak Sring Boot Adapter使用的Spring Boot。
该过程是标准的OAUTH2:
这与一个前端工作正常。你必须通过" keycloak.auth-server-url"来配置Spring后端的Keycloak适配器。在application.properties中。我的keycloak适配器的keycloak.auth-server-url指向一个Web服务器,它提供Frontend1并配置为反向代理。所以它在步骤3中使用此配置转发到keycloak服务器:
keycloak.auth-服务器的URL = www.UrlOfFrontend1.com / AUTH
' / AUTH'是keycloak的转发路径。它适用于一个前端。
我的问题是步骤4有两个前端。每个前端都由自己的WebServer提供,该WebServer配置为反向代理。如果我使用第二个反向代理提供第二个前端,它会传递Frontend2密钥泄露错误:
[org.keycloak.adapters.BearerTokenRequestAuthenticator](默认 任务-39)无法验证令牌: org.keycloak.common.VerificationException:无效的令牌发行者。 预期' http://www.UrlOfFrontend1.com/auth/realms/myrealm',但是' http://www.UrlOfFrontend2.com/auth/realms/myrealm' 在org.keycloak.TokenVerifier.verify(TokenVerifier.java:156) 在org.keycloak.RSATokenVerifier.verify(RSATokenVerifier.java:89)
我需要两个前端的Spring Boot Keycloak Adapter配置。我在Keycloak配置了两个公共前端客户端。我错过了什么?