我们使用的架构与spring.io 上的这篇出色指南中描述的架构非常相似。我们的网关处理身份验证,会话使用 spring-session 存储在 Redis 中。我们微服务的端点是安全的,也使用 spring-session。
在微服务中,我需要调用另一个微服务的端点。我通过发现客户端轻松获得了 URL,但我需要提供凭据,但我不确定实现这一目标的最佳方法。
我正在考虑从 HttpRequest 中获取 SESSION cookie,将其存储在某种线程局部变量或请求范围 bean 中,并在 RestTemplate 中使用它来调用第二个微服务。我需要这个请求范围的 bean,因为 RestTemplate 将用于服务层,即不在 MVC 控制器中,而且我不想用从 cookie 中获得的会话标识符污染我的服务层方法。
有没有更好的方法来满足这种需求?Spring Cloud 中是否已经对此提供了一些支持?
非常感谢您的意见