gpt4 book ai didi

rest - http post - 如何发送授权 header ?

转载 作者:太空狗 更新时间:2023-10-29 16:47:58 25 4
gpt4 key购买 nike

如何在 Angular2 RC6 中向您的 http 请求添加 header ?我得到以下代码:

login(login: String, password: String): Observable<boolean> {
console.log(login);
console.log(password);
this.cookieService.removeAll();
let headers = new Headers();
headers.append("Authorization","Basic YW5ndWxhci13YXJlaG91c2Utc2VydmljZXM6MTIzNDU2");
this.http.post(AUTHENTICATION_ENDPOINT + "?grant_type=password&scope=trust&username=" + login + "&password=" + password, null, {headers: headers}).subscribe(response => {
console.log(response);
});
//some return
}

问题是,angular 没有添加 Authorization header 。取而代之的是,在请求中我可以看到以下附加 header :

Access-Control-Request-Headers:authorization
Access-Control-Request-Method:POST

和sdch加入Accept-Encoding:

Accept-Encoding:gzip, deflate, sdch

不幸的是没有授权 header 。应该如何正确添加?

我的代码发送的整个请求如下所示:

OPTIONS /oauth/token?grant_type=password&scope=trust&username=asdf&password=asdf HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: POST
Origin: http://localhost:3002
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Access-Control-Request-Headers: authorization
Accept: */*
Referer: http://localhost:3002/login
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,pl;q=0.6

最佳答案

好的。我发现了问题。

它不在 Angular 方面。老实说,一点问题都没有。

我无法成功执行请求的原因是我的服务器应用程序没有正确处理 OPTIONS 请求。

为什么是 OPTIONS,而不是 POST?我的服务器应用程序位于不同的主机上,然后是前端。由于 CORS,我的浏览器将 POST 转换为 OPTION: http://restlet.com/blog/2015/12/15/understanding-and-using-cors/

在这个答案的帮助下: Standalone Spring OAuth2 JWT Authorization Server + CORS

我在我的服务器端应用程序中实现了适当的过滤器。

感谢@Supamiu - 指责我根本不发送 POST 的人。

关于rest - http post - 如何发送授权 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39408413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com