【发布时间】:2019-02-12 02:42:15
【问题描述】:
我有一个 Zuul 网关代理,我在其中检查从用户收到的令牌的授权。现在,当这个请求被传递给其他微服务以获取用户特定的数据时,用户信息需要从网关传递到微服务。
现在,我已经在请求标头中添加了用户 ID,并使用 API header 注释在相应的微服务控制器中获取它。
这是传递用户信息的正确方式吗?还有其他更好的方法吗?
【问题讨论】:
-
另外,您可以通过将
zuul.sensitive-headers=添加到.properties文件来将令牌中继到下游服务。然后,在每个单独的服务中,使用细粒度的授权。 -
在网关上,我检查令牌并获取实际用户名。这样就不需要在所有微服务中检查授权。所以在网关上,我收到了,但在验证令牌后,我得到了相应的用户 ID 并将其传递给其他微服务。
-
@GaneshSatpute:如果您找到了将此用户名传递给其他正在运行的微服务的方法,请告诉我。我遵循相同的架构,在 zuul 网关方式进行身份验证,但需要在其他微服务中访问用户名(与 JWT 令牌一起传递给 zuul api)。
-
@GhostRider 我最终也是这样做的。但不确定这是否是正确的方法。
标签: spring-boot authorization netflix-zuul