axiosでBasic認証を送信する方法 質問する

axiosでBasic認証を送信する方法 質問する

次のコードを実装しようとしていますが、何かがうまくいきません。コードは次のとおりです。

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(session_url, {
        headers: { 'Authorization': + basicAuth }
    }).then(function(response) {
        console.log('Authenticated');
    }).catch(function(error) {
        console.log('Error on Authentication');
    });

401 エラーが返されます。Postman で実行すると、Basic Auth を設定するオプションがあります。これらのフィールドに入力しないと 401 が返されますが、入力するとリクエストは成功します。

何が間違っているのか、何かアイデアはありますか?

これを実装する方法についての API ドキュメントの一部を次に示します。

このサービスは、ヘッダー内の基本認証情報を使用してユーザー セッションを確立します。資格情報はサーバーに対して検証されます。この Web サービスを使用すると、渡されたユーザー資格情報を使用してセッションが作成され、JSESSIONID が返されます。この JSESSIONID は、Web サービス呼び出しを行う後続のリクエストで使用できます。*

ベストアンサー1

Basic Auth には「auth」パラメータがあります。

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

ソース/ドキュメント: https://github.com/mzabriskie/axios

例:

await axios.post(session_url, {}, {
  auth: {
    username: uname,
    password: pass
  }
});

おすすめ記事