You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring RestTemplate调用Jira接口报401未授权错误问题咨询

核心错误定位

你的代码里构造HTTP Basic认证头的格式不符合规范,Basic 关键字和Base64编码后的凭据之间缺少必填的半角空格,这是直接触发401未授权错误的原因。

你当前的代码:

headers.add("Authorization", "Basic" + base64Creds);

实际发出的请求头格式为 Authorization: Basicabcdef12345xxx,服务端无法识别合法的Basic认证凭据,直接返回401。
正确写法需要在Basic后加空格:

headers.add("Authorization", "Basic " + base64Creds);
修复后仍报错的排查顺序
  • 凭据类型校验:如果对接的是Jira Cloud版本,不支持直接用账号登录密码做Basic认证,需要用账号绑定的邮箱 + 个人生成的API Token作为凭据;如果是自建Jira Server/DC版本,先确认管理员未关闭接口的Basic认证权限,且所用账号未被锁定、拥有优先级接口的访问权限
  • 编码问题修正:你当前调用plainCreds.getBytes()时未指定字符集,会默认读取运行环境的默认编码,若用户名/密码包含非ASCII字符会出现编码偏差,统一指定UTF-8即可:
    byte[] base64CredsBytes = Base64.getEncoder().encode(plainCreds.getBytes(StandardCharsets.UTF_8));
    
  • 接口路径校验:确认拼接后的最终请求路径符合Jira API规范,比如Jira Server端获取优先级列表的标准路径为/rest/api/2/priority,注意jiraBaseURL结尾的斜杠不要重复拼接导致路径错误。可以先用Postman等工具手动携带凭据调用接口,确认凭据、路径本身可用,再和代码生成的请求逐字符对比
  • 请求头校验:不要依赖System.out.println打印的HttpHeaders对象判断实际发出的头内容,建议开启RestTemplate的debug日志查看实际发出的原始请求,确认Authorization头格式正确
修正后的完整认证工具类代码
@Component
public class JiraHttpHeadersHelper {

    @Value("${first.jira.auth.user}")
    private String firstJiraAuthUser;

    @Value("${first.jira.auth.psw}")
    private String firstJiraAuthPsw;


    public HttpHeaders jiraHeadersWithAuthentication() {
        String plainCreds = firstJiraAuthUser + ":" + firstJiraAuthPsw;
        byte[] base64CredsBytes = Base64.getEncoder().encode(plainCreds.getBytes(StandardCharsets.UTF_8));
        String base64Creds = new String(base64CredsBytes, StandardCharsets.UTF_8);

        HttpHeaders headers = new HttpHeaders();
        headers.add("Authorization", "Basic " + base64Creds);
        headers.setContentType(MediaType.APPLICATION_JSON);
        return headers;
    }
}

绝大多数情况下补上Basic后的空格就能解决问题,修改后可以先断点查看生成的Authorization头值,确认Basic和后面的Base64串之间有且仅有一个半角空格。

内容的提问来源于stack exchange,提问作者MayEncoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 07:15:53