2017-05-08 117 views
19

フェッチを使用して簡単な基本認証を作成したいが、401エラーが発生し続ける。フェッチによる基本認証?

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() 
} 
+4

ヘッダーに「Basic」という単語の後に空白がない場合は、問題ありませんか? – Orifjon

+0

ああf ***、ええ!ありがとうございました!完全にそれを逃した;-) –

答えて

30

あなたがBasicとエンコードされたユーザ名とパスワードの間にスペースが不足している:誰かがコードで間違っているものを私に伝える場合、それは素晴らしいだろう。

headers.append('Authorization', 'Basic ' + base64.encode(username + ":" + password));