后端通过REST与Keycloak保护后端进行后端通信

Eld*_*dar 8 keycloak

我有两个webapps.每个都有前端(AngularJS)和后端(Java).每个前端都有自己的公共访问类型配置keycloak.json文件.每个后端都有自己的仅承载访问类型配置keycloak.json文件.每个前端应用程序都可以正常使用它自己的后端.我的任务是互相调用REST(后端到后端).我怎么能实现这一目标?因为在每个后端,REST服务都受到检查令牌有效性的保护.

Jas*_*ali 1

如果所有这些后端服务都由 keycloak 保护,请查看 Spring keycloak 适配器中 RestTemplate 的 KeycloakRestTemplate 扩展。KeycloakRestTemplate 作为 keycloak-spring-security-adapter jar 依赖项的一部分导入。

基本上,它使用 KeycloakClientRequestFactory 并在内部将授权标头(针对当前经过身份验证的主体)添加到服务到服务调用的所有请求中。

https://github.com/keycloak/keycloak/blob/master/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/client/KeycloakRestTemplate.java