Ich möchte eine einfache Basisauthentifizierung mit Fetch schreiben, erhalte aber immer wieder einen 401-Fehler. Es wäre großartig, wenn mir jemand sagen würde, was mit dem Code nicht stimmt:
let base64 = require('base-64');
let url = 'http://eu.httpbin.org/basic-auth/user/passwd';
let username = 'user';
let password = 'passwd';
let headers = new Headers();
//headers.append('Content-Type', 'text/json');
headers.append('Authorization', 'Basic' + base64.encode(username + ":" + password));
fetch(url, {method:'GET',
headers: headers,
//credentials: 'user:passwd'
})
.then(response => response.json())
.then(json => console.log(json));
//.done();
function parseJSON(response) {
return response.json()
}
javascript
fetch-api
daniel.lozynski
quelle
quelle
Eine Lösung ohne Abhängigkeiten.
Knoten
Browser
quelle
window.btoa(username + ':' + password);
developer.mozilla.org/en-US/docs/Web/API/WindowBase64/…window.btoa(unescape(encodeURIComponent(string)));
die Arbeit erledigen sollten, können Sie hier mehr darüber lesen: developer.mozilla.org/en-US/docs/Web/API/WindowBase64/…fetch
existiert dort nicht.Sie können auch btoa anstelle von base64.encode () verwenden.
quelle
Wenn Sie einen Back-End-Server haben, der vor der App nach den Anmeldeinformationen für die Basisauthentifizierung fragt, ist dies ausreichend. Er verwendet diese dann wieder:
quelle
Ein einfaches Beispiel für das Einfügen in die Chrome-Konsole:
quelle
NODE USERS (REACT, EXPRESS) FOLGEN SIE DIESEN SCHRITTEN
npm install base-64 --save
import { encode } from "base-64";
Vergessen Sie nicht, diese ganze Funktion als zu definieren
async
quelle
Ich werde einen Code freigeben, der den Datenanforderungshauptteil des Basisauthentifizierungskopfs enthält.
quelle
Dies hängt nicht direkt mit dem ursprünglichen Problem zusammen, wird aber wahrscheinlich jemandem helfen.
Ich hatte das gleiche Problem, als ich versuchte, eine ähnliche Anfrage über ein Domänenkonto zu senden. Mein Problem war also ein nicht maskiertes Zeichen im Anmeldenamen.
Schlechtes Beispiel:
Gutes Beispiel:
quelle