繁体   English   中英

无法在 Angular 中使用授权令牌调用 API

[英]Not able to call API with Authorization Token in Angular

我正在尝试调用 API 以获取当前用户详细信息,并且需要将令牌附加到Authorization标头。 但是它无法调用带有 500 错误响应的 API。

Postman 和 curl 命令运行良好,我正在获取用户详细信息。

代码如下:

httpHeaders = new HttpHeaders ({         
  'Content-Type': 'application/json'
});

getCurrentUser(url){     
  var token = localStorage.getItem('token');     
  this.httpHeaders = this.httpHeaders.set('Authorization', `Bearer ${localStorage.getItem('token')}`);
  return this.http.get<any>(url, { headers: this.httpHeaders });
}

我尝试了不同的方法来将令牌与 Bearer 前缀连接起来,但是在控制台中将授权作为 Bearer “token-string”(不确定这是否是我的 API 失败的原因)。

  public getCurrentUser(url: string): Observable<unknown> {
    const token = localStorage.getItem('token');
    // Launch DevTools to step through the code in the debugger;
    debugger;
    // check if token is valid string as well
    if (token == null) {
      throw new Error('Authorization token not found');
    }
    // Use local object
    const httpHeaders = new HttpHeaders({
      'Content-Type': 'application/json',
      Authorization: `Bearer ${token}`,
    });
    return this.http.get<unknown>(url, { headers: httpHeaders });
  }

如果您仍然收到来自服务器的HTTP 500 internal server错误:

  • 打开 DevTools 并查看ConsoleNetwork选项卡中的错误消息(如果有)。
  • 如果您有权访问服务器日志,请查看它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM