悦书阁 悦书阁
首页
学习笔记
技术文档
idea插件开发
更多
  • 分类
  • 标签
  • 归档

Felix

大道至简 知易行难
首页
学习笔记
技术文档
idea插件开发
更多
  • 分类
  • 标签
  • 归档
  • 部署文档

  • 常用手册

  • 经验技巧

    • stream使用
    • Oracle笔记
    • AES加解密
    • Git技巧备忘
    • Feign支持BasicAuth验证
      • 一、背景
      • 二、 步骤
    • Feign远程调用
    • Mybatis-xml语法备忘
    • 邮件发送自定义Excel
    • SpringBoot集成第三方组件
    • SpringBoot集成问题记录
    • mybaits plus 代码生成器
    • 阿尔萨斯(Arthas)
  • 技术文档
  • 经验技巧
liufei379
2022-06-16
目录

Feign支持BasicAuth验证

# 一、背景

一些比较重要的微服务,我们暴露的接口可能会希望安全性更高一些,此时,我们会给这些接口增加一些鉴权,如比较简单且方便的鉴权方式Basic Auth鉴权,此时,针对这些有Basic Auth鉴权的接口,我们该如何写Feign,其实是通过覆盖Feign的默认配置来支持鉴权。

# 二、 步骤

FeignClient的属性configuration增加自定义配置Configuration.class

@FeignClient(name = "mytest-server", configuration = Configuration.class)
public interface Client {
    //..
}
1
2
3
4

Configuration.class如下(特别注意,别加@Configuration注解,避免扫包扫到导致给全局的Feign都增加了BasicAuthRequestInterceptor拦截器):

import feign.auth.BasicAuthRequestInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * basic验证配置
 */
@EnableConfigurationProperties({Properties.class})
public class Configuration {
    @Autowired
    private Properties properties;
    public Configuration() {
    }
    @Bean
    public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {
        return new BasicAuthRequestInterceptor(properties.getUsername(), properties.getPassword());
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

其中Properties.java为

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
 * basic验证配置
 */
@ConfigurationProperties(prefix = "mytest")
@Data
public class Properties {
    private String username;
    private String password;
}
1
2
3
4
5
6
7
8
9
10
11

application.yaml增加basic auth账号密码配置如下:

mytest:
    username: test
    password: 123456
1
2
3
上次更新: 2026/3/11 21:47:04
Git技巧备忘
Feign远程调用

← Git技巧备忘 Feign远程调用→

最近更新
01
实现idea开发的关键步骤
10-05
02
Redis高可用架构
09-09
03
Zookeeper高可用
08-31
更多文章>
Theme by Vdoing | Copyright © 2022-2026 Felix | 粤ICP备17101757号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式