具有多个 spring 引导微服务的身份管理

Identity management with multiple spring boot micro services

我有多个 spring 启动应用程序用于不同的目的。 例如,移动客户端将他们的 GPS 坐标发送到一个 spring 启动微服务,同时,这些移动客户端访问另一个 spring 启动微服务来执行他们的 CRUD 操作。

我遇到了验证客户端的问题。我不想对所有服务进行身份验证。相反,我想通过使用另一个身份管理服务器(例如:Kerberos)来完成此操作,该服务器为所有这些微服务生成 SSO 令牌。

或者一个对所有传入请求进行身份验证并将它们委托给相关微服务的代理。

我搜索了几个小时,但我找不到任何关于保护微服务的可靠信息,即使是在一般情况下也是如此。

  1. 我采用的设计或架构是否正确?
  2. 对于这种情况,最好的方法是什么?
  3. 我如何实现这个身份server/proxy谁来验证?
  4. 有什么技术,已知的身份管理服务器可以很容易地与 Spring 集成,有已知的设计模式吗?

还有一个问题, 可以在这些服务中的每一个上实现相同的身份验证层吗? (因为我觉得不好,我可能会错)

我想坚持 Spring。

如果有人能指导我正确的路径,我将不胜感激。

您需要的是 OAuth2。

使用集群授权服务器为客户端和服务提供令牌并检查这些令牌。

我建议 UAA Cloud foundry。它是满足您要求的最佳 "User Account and Authentication" 管理服务器。

除上述之外,您还可以使用 Spring OAuth2 和 JWT 来保护微服务。