我对角度2的服务有问题,我想在春天从apiREST获得一个令牌,服务器正在工作,如果我用邮递员提出请求它有效!但我不知道如何在角度2上发出请求,我在角度2上有这个代码
getToken(login:Login)
{
let headers = new Headers();
let urlSearchParams = new URLSearchParams();
// urlSearchParams.append(this.GRANT_TYPE,"client_credentials");
urlSearchParams.append(this.GRANT_TYPE,"password");
urlSearchParams.append(this.USERNAME, ""+login.usr);
urlSearchParams.append(this.PASSWORD, ""+login.pwd);
urlSearchParams.append("client_id","my-trusted-client");
//headers.append("Content-Type","application/json");
headers.append('Content-Type', 'application/x-www-form-urlencoded');
// headers.append('Authorization', 'Bearer ' + btoa(plainClientCredentials));
headers.append("Authorization", "Basic "+ btoa("my-trusted-client:secret"));
console.log(headers);
let url = `${this.URL_OAUTH}/${this.GET_TOKEN}`;
let body = urlSearchParams.toString()
console.log("Esta es la url: "+url+'?'+body);
return this.http.post( url, body ,{ headers })
.map(res => {
console.log(res);
// return res;
let token = res.json() && res.json().access_token;
if (token) {
// set token property
this.token = token;
// store username and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('token', JSON.stringify({token: token}));
// return true to indicate successful login
return res;
} else {
// return false to indicate failed login
return false;
}
}
,error => {
console.log(error.json());
});
}
服务器返回状态码401,我不知道如何构建标头以向oauth2发送请求