2017-08-14 12 views
0

私はBASIC認証を行うバックエンドを持っています。認証ヘッダー - Javascriptタグ

curl -D- -X GET -H "Authorization: Basic cmFtcmFtOnBhc3N3b3Jk" -H "Content-Type: application/json" "http://localhost:9000/users/login" 

を次のように私はカールでエンコードされたユーザ名/パスワードを渡していますし、それが正常に動作します

VUE-リソースを使用してvue.jsに私が使用して同じことをしようとしているのに対し

var options = { 
     url: 'http://localhost:9000/users/login', 
     method: 'GET', 
     headers: 
     { 
      'Authorization': 'Basic cmFtcmFtOnBhc3N3b3Jk' 
     } 
    } 
    context.$http(options).then(res => { 
     if (res.ok) { 
     cb({ authenticated: true }) 
     } else { 
     cb({ authenticated: false }) 
     } 
    }) 

しかし、認証されていません。 devtoolsから入手したリクエスト情報は、次のとおりです。

Accept:*/* 
Accept-Encoding:gzip, deflate, br 
Accept-Language:en-GB,en;q=0.8,fr;q=0.6,en-US;q=0.4 
Access-Control-Request-Headers:authorization 
Access-Control-Request-Method:GET 
Connection:keep-alive 
DNT:1 
Host:localhost:9000 
Origin:http://evil.com/ 
Referer:http://localhost:8080/Login 

私は許可情報がサーバーに渡されていません。何か間違っているのですか?注:サーバーとクライアントはどちらもlocalhost上にあります。

おかげ

答えて

0

vue-resourceので、私は、あなたはもうそれを使用すべきとは思わないretiredです。代わりに、代わりにfetchを使用し、動作するかどうか確認してください。

fetch('http://localhost:9000/users/login', { 
    method: 'POST', 
    headers: new Headers({ 
     'Authorization: Basic cmFtcmFtOnBhc3N3b3Jk', 
     'Content-Type': 'application/json' 
    }), 
    body: JSON.stringify(req.body.payload) 
})