Angular HttpClient |相当于 curl --user(基本认证)

Angular HttpClient | Equivalent to curl --user (basic authentication)

我正在尝试使用 Angular 的 HttpClient 访问 API。

我有一把钥匙:xxyyzz。根据 API 的文档,我可以使用以下 curl 访问资源:

curl --user 'key:' https://rest.apiname.com

问题: 我如何使用 Angulars HttpClient 实现这个基本身份验证?

我试过:

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json',
    'Authorization': 'Basic xxyyzz:'
  })
};

this._http.get('https://rest.apiname.com/resource', httpOptions).subscribe(
  data => {
    console.log(data);
  },
  err => {
    console.log(err);
  }
)

失败并返回 401。 使用 curl 访问 API 没有问题。

非常感谢任何帮助我们!

这里是如何使用基本身份验证发出请求

   const basicAuth = username + ':' + password;
    let Headers = new HttpHeaders();
    Headers = Headers.append('Authorization', 'Basic ' + btoa(basicAuth));
    return this.http.post<any>(`${this.authUrl}getLoggedInUserInfo.json`, null, { headers: Headers })

基本授权的值header需要编码:

const httpOptions = {
    headers: new HttpHeaders({
        'Content-Type':  'application/json',
        'Authorization': 'Basic ' + btoa('xxyyzz:')
    })
};