Spring Security 在Sping Boot 中保护来自另一个微服务的微服务

l3zydbqr  于 2023-08-05  发布在  Spring
关注(0)|答案(2)|浏览(104)

我有两个微服务,一个负责使用JWT和Spring Security进行授权和身份验证,我有auth service,user repo,security configs等。我想使用这个来保护其他微服务,我搜索了很多,但感到困惑,一些教程和示例使用zuul和Eureka ,一些使用OAuth 2.0而不使用jwt,是否可以使用jwt并将第一个微服务作为“授权服务器”?
当客户端想要从微服务2访问“安全端点”时,它应该使用微服务1验证令牌,我想要一种简单的方法来做到这一点,任何帮助或有用的链接都将受到欢迎!

kkih6yb8

kkih6yb81#

客户端如何访问微服务?如果你想阻止访问microservices 2(* 目标服务 *),而无需在microservices 1(*auth服务 *)上进行先前的身份验证,那么你需要通过验证 *auth服务 * 已进行身份验证的东西将调用路由到目标服务。
这可以通过几种方式来实现……在代理应用程序中,通过向 *auth服务 * 本身添加代理功能,通过像istio这样的网络层/工具等。如何以及在何处部署应用程序将对您的解决方案产生影响。

x7yiwoj4

x7yiwoj42#

你想要的是反对微服务架构和实践。在微服务架构中,每个服务必须彼此独立。但在这种情况下,当你想用另一个微服务来保护一个微服务时,这是不对的。
最好和最完整的安全模型是使用OAUTH服务器,该服务器检查发送到网关的每个请求是否具有令牌并检查授权。我觉得this link很有用

相关问题