繁体   English   中英

如何通过zuul或任意api网关调用安全的微服务端点

[英]How to call a secure microservice endpoint through zuul or any api gateway

我有一个springboot应用程序。 端点是安全的,它们需要 jwt 令牌授权才能被访问。 应用程序中有一个端点,它接受用户名和密码并返回 jwt 令牌。 现在可以在授权 header 中设置此令牌,并且可以访问其他安全 api。

我有另一个 springboot 应用程序,它充当 zuul api 网关。 如何通过此 zuul 应用程序调用我的安全 api。 我是微服务架构的新手。 请指教。

我的建议是你应该只在网关(Zuul)级别进行身份验证。

您不应该在微服务间调用期间进行身份验证。

您的微服务都可以通过网关访问,因此将受到保护。

如果您仍想使用 JWT 令牌机制进行微服务间调用,请使用以下示例 -

假设我有一个名为 search-service 的服务作为微服务。

创建一个服务来调用登录端点并获取令牌并在授权 header 中传递该令牌 例如:“Bearer”<>

@FeignClient(name = "search-service")
public interface SearchService 
{
    @RequestMapping(method = RequestMethod.POST , value = "/api-search/user/v2/search" , consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    List<Map<String, List<Map<String, Object>>>> search(@RequestHeader("Authorization")String token, String query);

    @RequestMapping(method =  RequestMethod.POST , value = "/api-search/auth/login", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public AuthResponseDto login(@RequestBody AuthRequestDto authRequestDto);


}



暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM