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:')
})
};
我正在尝试使用 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:')
})
};