我在 AWS 上托管了几个微服务(Springboot)。例如让我们假设 Service1 和 Service2 是两个微服务。 Service1 是由前端和移动应用程序访问的微服务。 Service1 调用 Service2。 Service2 完全是内部的。
我已经设置了位于 Service1 前面的 Amazon API Gateway。我已经使用 cognito 配置了身份验证(Oauth)。
这一切都在起作用。从前端/应用程序调用时,请求需要通过 API 网关进行身份验证,然后才能到达 Service1。
但我的问题是如果 Service1 需要与 Service2 通信,考虑到我使用的是 AWS,哪种身份验证最适合
我不想引入 Oauth 身份验证来在两个内部微服务之间进行身份验证。我觉得有点矫枉过正。有更好的方法吗?
最佳答案
一种行之有效的选择是拥有 2 级 API:
例如:
* Online Sales UI 调用 Online Sales API
* 在线销售 API 调用订单和客户微服务
来自 OAuth 访问 token 的用户上下文可以从入口点 API 传递到微服务 - 或者可以转发 token 本身
这也表现良好,避免了对 Cognito 的过多调用。
关于spring-boot - 微服务之间的认证 : Amazon API Gateway,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59292149/