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

Angular读取HTTP响应头Authorization值为null问题及解决方案

问题说明

调用登录接口时,尝试从响应中读取鉴权Token,但是获取Authorization响应头的返回值为null,当前仅Content-Type响应头可以正常读取。

业务代码

登录请求封装

login(credentials: any): Observable<any> {
    return this.http.post(AUTH_API + '/login', {
      username: credentials.username, 
      password: credentials.password
    }, {observe: 'response'});
  }

接口调用逻辑

this.authService.login(this.loginForm.value)
      .subscribe((res:Response) => {
        console.log(res.headers.get('Authorization'));
    },
    err => {
      this.isLoginError = true;
      this.loginErrorMessage = err.error;
    });
问题根因

跨域请求场景下,浏览器出于安全限制,默认仅向前端JS暴露少量基础响应头(包含Content-Type等),其余响应头即使在开发者工具网络面板中可见,前端代码也无法直接读取,Authorization头就属于默认不暴露的响应头范畴。

修复方案

后端在返回响应时添加Access-Control-Expose-Headers配置,明确声明将Authorization头暴露给前端即可解决问题。
Java后端参考配置代码:

response.setHeader("Access-Control-Expose-Headers", "Authorization");
response.addHeader("Authorization", jwtTokenProvider.generateToken(auth));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 02:42:18