小编Har*_*har的帖子

Feign 客户端对不需要身份验证的 URL 抛出未经授权的异常

我关注了这个博客并创建了一些微服务:Eureka-server、Auth-service、Zuul-service、Gallery-service、Image-service。从画廊服务中,我想使用 Feign-Client 调用 auth-service API 该 url 不需要身份验证,但客户端抛出 FeignException$Unauthorized 我正在使用 JWT 令牌进行身份验证。

//AuthServerProxy.java

@FeignClient(name = "auth-service")
@RibbonClient(name = "auth-service")
public interface AuthServiceProxy {

    @PostMapping("/auth/authenticate")
    public ResponseEntity<?> authenticate(@RequestBody UserEntity userEntity);

    @GetMapping("/auth/register")
    public String test();
}
Run Code Online (Sandbox Code Playgroud)

控制器 - 画廊服务

@Autowired
    AuthServiceProxy authServiceProxy;
    @GetMapping("/test")
    public String test(){
        UserEntity userEntity = new UserEntity();
        userEntity.setUsername("admin");
        userEntity.setPassword("admin");
        ResponseEntity<?> responseEntity = authServiceProxy.authenticate(userEntity);
        System.out.println(responseEntity.getStatusCode());
        return responseEntity.toString();

    }

    @GetMapping("/test/str")
    public String testStr(){
        return authServiceProxy.test();
    }
Run Code Online (Sandbox Code Playgroud)

安全配置 - ZuulServer、Auth-Service

.antMatchers(HttpMethod.POST, "/auth/authenticate").permitAll()
Run Code Online (Sandbox Code Playgroud)

这是错误日志

ERROR 1123 --- [nio-8100-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : …
Run Code Online (Sandbox Code Playgroud)

java spring-boot microservices feign

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

feign ×1

java ×1

microservices ×1

spring-boot ×1