Saya ingin menulis otentikasi dasar sederhana dengan pengambilan, tetapi saya terus mendapatkan kesalahan 401. Akan luar biasa jika seseorang memberi tahu saya apa yang salah dengan kode:
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
sumber
sumber
base64
merujuk ke perpustakaan yang diimpor dalam posting asli. Ini bukan global bawaan, tetapi pustaka yang diimpor dalam modul CJS.Solusi tanpa ketergantungan.
Node
Browser
sumber
window.btoa(username + ':' + password);
developer.mozilla.org/en-US/docs/Web/API/WindowBase64/…window.btoa(unescape(encodeURIComponent(string)));
harus melakukan pekerjaan, Anda dapat membaca lebih lanjut tentang ini di sini: developer.mozilla.org/en-US/docs/Web/API/WindowBase64/…fetch
Anda tidak ada di sana.Anda juga bisa menggunakan btoa sebagai ganti base64.encode ().
sumber
Jika Anda memiliki server backend yang meminta kredensial Basic Auth sebelum aplikasi, maka ini cukup, itu akan digunakan kembali kemudian:
sumber
Contoh sederhana untuk menyalin-tempel ke konsol Chrome:
sumber
PENGGUNA NODE (REACT, EXPRESS) IKUTI LANGKAH INI
npm install base-64 --save
import { encode } from "base-64";
Jangan lupa untuk mendefinisikan seluruh fungsi ini sebagai
async
sumber
Saya akan membagikan kode yang memiliki badan permintaan data formulir Basic Auth Header,
sumber
Ini tidak terkait langsung dengan masalah awal, tetapi mungkin akan membantu seseorang.
Saya menghadapi masalah yang sama ketika mencoba mengirim permintaan serupa menggunakan akun domain. Jadi masalah saya adalah karakter yang tidak lolos dalam nama login.
Contoh buruk:
Contoh yang baik:
sumber