【发布时间】:2018-09-27 20:53:46
【问题描述】:
我有一些 Spring Boot 微服务,前面有 Spring Cloud API 网关 (Zuul)。
API 网关对用户进行身份验证并转发授权承载令牌标头。
在单个领域工作正常。
现在,我想使用多个领域。
使用KeycloakConfigResolver,我可以使用 API 网关对用户进行身份验证(基于路径的 keycloak 部署)。
但是我应该如何为微服务(仅承载)配置 KeycloakConfigResolver,以便使用正确的 KeycloakDeployment?由于两个领域都可以访问每个服务,我不知道如何检测哪个领域用户已通过身份验证?
我不能使用KeycloakConfigResolver 的路径,例如用于订单服务,用户可以在/orders 上执行 GET,由 realm1 或 realm2 进行身份验证...
使用标题似乎也不是一个好的解决方案...... 任何想法?
我希望我足够清楚......
【问题讨论】:
-
As every service can be accessed by both realms I don't know how to detect against which realm user was authenticated。领域实体在 keycloak 中应该是不透明的。这对你来说是不是有点像黑客攻击?想不出在这里使用多个领域会带来什么好处..
标签: spring-boot spring-cloud multi-tenant keycloak