2017-05-19 7 views
9

次のコードを実装しようとしていますが、何かが機能していません。コードは次のとおりです。AxisでBasic Authを送信する方法

var session_url = 'http://api_address/api/session_endpoint' 
    var username = 'user'; 
    var password = 'password'; 
    var credentials = btoa(username + ':' + password); 
    var BasicAuth = 'Basic ' + credentials; 
    axios.post(sesion_url,{ 
    headers: {'Authorization': +BasicAuth} 
    }).then(function(response){ 
    console.log('Authenticated'); 
    }) 
    .catch(function (error){ 
    console.log('Error on Authentication'); 
    }); 

これは401エラーを返します。私がPostmanでそれをするときに、401を返すフィールドを埋めるのではなく、私がリクエストを成功させれば、Basic Authを設定するオプションがあります。

何が間違っているのですか?

これを実装する方法のAPIのドキュメントの一部です: このサービスは、ヘッダーの基本認証情報を使用してユーザーセッションを確立します。資格証明はサーバーに対して検証されます。このWebサービスを使用すると、ユーザーの資格情報が渡されたセッションが作成され、JSESSIONIDが戻されます。このJSESSIONIDは、その後のWebサービスコールの要求で使用できます。

auth: { 
    username: 'janedoe', 
    password: 's00pers3cret' 
} 

ソース/ドキュメント:

答えて

12

基本認証のための "認証" パラメータがありますhttps://github.com/mzabriskie/axios

+0

ハローは、どのように私がいることを設定することができ、すべてのaxios呼び出しに? すべてのAjax呼び出しに基本認証を追加する必要があります。 axios.defaults.auth = {username: 'dd'、password: '###'}これは私のために働いていません。 – hkg328

+0

おそらく、これは役立ちます:https://gist.github.com/EQuimper/dc5fe02dcaca4469091729e1313f78d1 – luschn

+0

btw、あなたはそれらの種類のもののためにAxiosの周りにラッパーを書くことができます – luschn

関連する問題