basic认证笔记

对接basic认证,之前是做过的,再次遇到居然直观的认为大概是header里面加键值对就行,真是日了狗了,不知道自己学了个什么。

basic认证

实际肯定不是header里面添加键值对,而是:
1、帐号密码用:连接
2、将上述字符串用base64加密
3、header里面添加Authorization,值为Basic+空格+base64值

代码:



HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
//            headers.add("username",config.getUsername());
//            headers.add("password",config.getPassword());

//            basic认证要这么实现,直接放到header里面是错的

if(!StringUtils.isEmpty(config.getUsername())
        &&!StringUtils.isEmpty(config.getPassword())){
    String plainCredentials = config.getUsername()+":"+config.getPassword();
    String base64Credentials = new String(Base64.encodeBase64(plainCredentials.getBytes()));
    headers.add("Authorization", "Basic " + base64Credentials);
}

HttpEntity<String> restRequest = new HttpEntity<String>(JSON.toJSONString(request), headers);

log.info("请求参数_headers={}",JSON.toJSONString(headers));
log.info("请求参数_restRequest={}",JSON.toJSONString(restRequest));


// 先用string接吧 反正也不需要后续处理
String response = restTemplate.postForObject(config.getUrl(), restRequest, String.class);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值