0

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

我面临验证客户的问题。我不想对所有服务进行身份验证。相反,我想通过使用另一个身份管理服务器(例如:Kerberos)来做到这一点,它为所有这些微服务生成一个 SSO 令牌。

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

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

  1. 我采用的设计或架构是否正确?
  2. 对于这种情况,最好的方法是什么?
  3. 我怎样才能实现这个身份服务器/代理谁进行身份验证?
  4. 任何可以轻松与 Spring 集成的技术、已知的身份管理服务器、已知的设计模式是否存在?

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

我想坚持春天。

如果有人可以指导我正确的道路,我将不胜感激。

4

2 回答 2

1

您需要的是 OAuth2。

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

于 2015-07-17T10:28:12.827 回答
0

我建议Cloud Foundry 的UAA。它是您需要的最佳“用户帐户和身份验证”管理服务器。

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

于 2016-08-11T15:06:25.093 回答