【问题标题】:Authorization Header in angular 4角度 4 中的授权标头
【发布时间】:2018-04-01 20:17:11
【问题描述】:

我有一个服务器(Spring Boot),当成功进行身份验证时,它会向我发送带有 JWT 的授权。所有这些工作正常。我可以看到授权标头正在 Chrome 网络选项卡中返回。但是由于某种原因,当我尝试使用 console.log 以角度打印标题时,授权标题没有显示出来。 headers.get('Authorization') 也不能正常工作。

login(user) {
this.http
  .post(`${this.url}/login`, user)
  .subscribe((h:Response) => {
    console.log(h.headers.toJSON());  // Doesn't print Authorization header
    console.log(h.headers.get('Authorization')); // prints null
    //this.setToken(h.headers.get('Authorization'));
  });
}

提前致谢!

【问题讨论】:

  • 您的服务可能不会返回 Authorization 标头
  • 它正在返回授权标头。我可以在 Chrome 的网络标签中找到它,并使用邮递员仔细检查了它。
  • res.data.tokenres.body.token 通常是您通过帖子获得 jwt 的地方
  • 设置一个断点,看看你是否得到。您可以在 TeamViewer 中使用吗?

标签: angular spring-boot


【解决方案1】:

所以,在做了更多研究之后,我遇到了这篇文章 https://stackoverflow.com/a/43734000/7770219,它回答了上述问题。我没有正确配置我的 CorsFilters。这就是为什么前端(angular 2+)无法访问包含我的 JWT 的授权令牌的原因。即使您能够在邮递员和 Chrome 网络选项卡中看到令牌,但这并不意味着您的前端能够成功访问它。为此,请使用上面提供的链接授予它访问权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-15
    • 2018-04-13
    • 2015-11-27
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2020-03-09
    相关资源
    最近更新 更多