【发布时间】:2018-05-17 17:31:05
【问题描述】:
我正在使用 Spring Boot 开发微服务架构。我们已经在 Auth Server 中实现了 OAuth2。
我的问题是 - 如果两个微服务想要进行通信,最好的方式应该是什么?
到目前为止,我发现了以下选项:
如果每个微服务都在验证令牌,那么我们可以传递相同的令牌。但问题是——在同一令牌之间可能会过期。
如果我们使用 client_credentials 授权,那么我们有两个问题:一个是,我们需要在下一个微服务中发送用户名。另一个是,我们需要请求两次——第一次是获取访问令牌,然后是实际调用。
如果我们只在 API 网关(不在微服务中)进行令牌验证,那么我们需要从 API 网关在每个微服务中发送用户名。并且需要更改微服务实现以接受该参数/标头。
请建议我应该选择哪个选项,如果有更好的选择,请告诉我。
提前致谢。
【问题讨论】:
标签: spring oauth-2.0 microservices