一 背景
一些比较重要的微服务,我们暴露的接口可能会希望安全性更高一些,此时,我们会给这些接口增加一些鉴权,如比较简单且方便的鉴权方式Basic Auth鉴权,此时,针对这些有Basic Auth鉴权的接口,我们该如何写Feign,其实是通过覆盖Feign的默认配置来支持鉴权。
二 具体做法
FeignClient的属性configuration
增加自定义配置DemoConfiguration.class
1 | "demo-server", configuration = DemoConfiguration.class) (name = |
DemoConfiguration.class
如下(特别注意,别家@Configuration注解,避免扫包扫到导致给全局的Feign都增加了BasicAuthRequestInterceptor拦截器):
1 | import feign.auth.BasicAuthRequestInterceptor; |
其中DemoProperties.java
为
1 | import lombok.Data; |
application.yaml
增加basic auth账号密码配置如下:
1 | xxx: |
三 附上需要的依赖如下
1 | org.springframework.cloud:spring-cloud-starter-openfeign:2.2.4.RELEASE |