ユーザーをREST APIに認証するために、GETリクエストにAuthorizationヘッダーを設定しようとしています。私はAngular 2 RC1。(私は初心者です)を使用しています。
getTest(){
let authToken = localStorage.getItem('auth_token');
let headers = new Headers({ 'Content-Type': 'application/json' });
headers.append('Authorization', `Bearer ${authToken}`);
let options = new RequestOptions({ headers: headers });
return this._http
.get(this._url,options)
.map(res => console.log(res));
}
バックエンドでCORSを許可します。
header("Access-Control-Allow-Origin: *");
header("Access-Control-Request-Headers: Content-Type, Authorization");
私のコンソール:
オプションapi/userProfile /
XMLHttpRequestは/ userProfile /をロードできません。プリフライトの応答に無効なHTTPステータスコード406が含まれています
何か案が ?
406ステータスコードのためではなく、Accept
ヘッダーが必要だと思います...
let authToken = localStorage.getItem('auth_token');
let headers = new Headers({ 'Accept': 'application/json' });
headers.append('Authorization', `Bearer ${authToken}`);
let options = new RequestOptions({ headers: headers });
return this._http
.get(this._url,options)
.map(res => console.log(res));
これにより、応答で期待するコンテンツタイプをサーバーに伝えることができます...
Content-Type
ヘッダーは、リクエストで送信したコンテンツのタイプを指定するためのものです。あなたの場合、コンテンツはありません...
autorization = { Authorization: 'Token adfasdfadf651f65asd1f65asdf' }
this.http.get(url, { headers: autorization})