我需要向Spring Boot OAuth 2授权服务器发送发布请求以获取JWT令牌?使用邮递员,我获得了令牌,并且Auth Server运行正常。但是,使用Angular,我很难确定正确的帖子请求格式?
这是我目前使用的方法。
login() {
const url = 'http://localhost:9090/oauth/token';
const data = {
'grant_type': 'password',
'username': 'username',
'password': 'password'
};
const reqH = new HttpHeaders({
'Content-Type': 'application/x-www-urlencoded',
'Authorization': 'Basic ' + btoa('client-id' + ':' + 'secret'),
'grant_type': 'password',
'username': 'administrator%40divinedragon.com',
'password': 'password'
});
return this.http.post('http://localhost:9090/oauth/token', data, {
headers: reqH
});
}
使用此方法时,出现以下错误。
HttpErrorResponse {标题:HttpHeaders,状态:400,statusText:“确定”,网址:“ http://localhost:9090/oauth/token”,确定:false,…},
错误:{错误:“ invalid_request”,错误描述:“缺少授权类型”}
非常感谢您的帮助!
答案 0 :(得分:0)
let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Content-Type', 'application/x-www-urlencoded');
headers = headers.append('Authorization' : 'Basic ' + btoa('client-id' + ':' +
'secret');
headers = headers.append('grant_type': 'password', 'username': 'administrator%40divinedragon.com', 'password': 'password');
答案 1 :(得分:0)
var body = "grant_type=password&username=username&password=password&client_id=clientid";
return this.http.post(`${this.oauth.URL}/oauth/token`, body, {
headers: new HttpHeaders({
Authorization: "Basic +token",
"Content-type": "application/x-www-form-urlencoded;charset=utf-8"
})
});
答案 2 :(得分:0)
keyboardVerticalOffset