Wenn ich versuche, den Authorzation-Header wie folgt zu setzen, wird der Header nicht an den Server für die Anforderung gesendet. Was ist der richtige Weg, um den Authorization-Header mit Fetch zu setzen?Berechtigungsheader wird nicht gesendet, wenn Fetch verwendet wird
let options = {
method: 'GET',
headers: new Headers({
Authorization: 'Bearer ...'
})
};
fetch('/api/somedata', options).then(function(response) { console.log(response); };
bearbeiten
In Chrom-Entwickler-Tools auf der Registerkarte Netzwerk erhalte ich dies für die Anfrage:
GET /api/somedata HTTP/1.1
Host: someserver.azurewebsites.net
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
Accept: */*
Referer: http://localhost:3000/somedata
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Hinweis gibt es keine Header Authorization gesetzt wird.
Und der Server antwortet:
HTTP/1.1 401 Unauthorized
Content-Length: 61
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/8.0
WWW-Authenticate: Bearer
X-Powered-By: ASP.NET
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE
Date: Thu, 29 Sep 2016 03:16:15 GMT
Ich kann nicht reproduzieren Ihr Problem; Ich testete mit dem gleichen Code wie Sie geschrieben und die 'Authorization' Header ist in der Tat an den Server gesendet ... – Frxstrem
Die' Authorization' Header ist nicht in der Liste der [verbotenen Header-Namen] (https: //developer.mozilla .org/de-DE/docs/Glossar/Forbidden_header_name), also gibt es keinen Grund, warum es nicht funktionieren sollte. Sind Sie * sicher * werden die Anfragen ohne Autorisierungskopf gesendet? Wenn Sie Chrome oder Firefox verwenden, können Sie Anforderungsheader anzeigen, indem Sie die Entwicklerkonsole mit F12 öffnen und Ihre Abrufanforderung auf der Registerkarte "Netzwerk" finden. Wenn es da ist, gibt es wahrscheinlich ein Problem auf der Serverseite. – Frxstrem
Ja Ich bin mir sicher, dass es nicht den Autorisierungsheader setzt. – user193427