我正在尝试使用API对用户进行身份验证。我已经实现了一种登录方法。
login() {
this.key = this.credentials.username + ":" + this.credentials.password;
this.base64 = btoa(this.key) //base64
this.url = encodeURI(this.base64); //url
this.contentHeader = new HttpHeaders().set("Authorization", "Basic " + this.url);
return new Promise((resolve, reject) => {
console.log(this.contentHeader)
this.http.post(this.LOGIN_URL, null, { headers: this.contentHeader })
.subscribe(res => {
resolve(res);
console.log("success:" + res.id_token)
res => this.authSuccess(res.id_token)
}, (err) => {
console.log("error occured");
reject(err);
});
});
}
我正在尝试连接用户名和密码,然后编码为base64。再次将其编码为URL,并与标头结合起来发布。我已经正确地与邮递员进行了正确的身份验证。但是在ionic应用中,它说的是错误的请求。
答案 0 :(得分:0)
使用HTTP或HTTPClient发送POST请求时,第二个参数作为POST正文发送。似乎在您的代码中,您不是将授权发送为标头,而是发送为POST正文。
将其更改为:
this.http.post(this.LOGIN_URL, null, {
headers: HttpHeaders().set("Authorization", "Basic " + this.url)
})