0

我正在开发一种架构,其中我的 Angular 前端连接到 Spring Boot 后端,并且前端可以通过 NGINX 访问。

在访问我的应用程序之前,必须对用户进行身份验证。

我使用 Keycloak 作为身份管理器,使用 keycloak-gatekeeper 作为代理 oauth,验证用户是否经过身份验证。

成功验证后,网守重定向(并发送带有身份信息的标头,例如:用户名、电子邮件、角色......)到我的前面,这是一个调用 spring boot API 以根据登录的用户检索信息的单个页面和它的作用。

问题是:API 没有收到 Gatekeeper 发送的任何这些标头。

我做了几个测试以知道我在哪里丢失了标头,我发现当我将 Gatekeeper 直接与 API 连接时,API 接收所有标头但是当我在两者之间添加角度应用程序时,后端仅接收标准标头,例如:主机,x-real-ip,x-forwarded-for,访问控制允许来源...)

似乎前面生成了一个新请求 - 带有默认标头 - 到后面并丢失了其他标头。

我如何保留这些标头以便我的 API 接收它们?

这是我的架构的图片:

建筑学

谢谢大家的帮助

4

0 回答 0