Keycloak两个前端客户端和一个后端客户端

时间:2017-11-06 18:27:40

标签: spring reverse-proxy keycloak

我有以下设置:

enter image description here

Frontends是Angular1 Frontends。后端是与春季安全相结合的Keycloak Sring Boot Adapter使用的Spring Boot。

该过程是标准的OAUTH2:

  1. 前端向Keycloak发送凭据
  2. 如果有效的Keycloak将令牌发送到前端
  3. 前端使用此令牌发送请求到后端
  4. 后端将令牌发送到keycloak进行验证
  5. keycloak在验证后接受令牌
  6. 后端正在响应前端
  7. 这与一个前端工作正常。你必须通过" 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配置了两个公共前端客户端。我错过了什么?

0 个答案:

没有答案