axios.jsを介してトークンを含む認証ヘッダーを送信するにはどうすればよいですか?私は成功せずにいくつかのことを試みました、例えば:
const header = `Authorization: Bearer ${token}`;
return axios.get(URLConstants.USER_URL, { headers: { header } });
私にこのエラーを与えます:
XMLHttpRequest cannot load http://localhost:8000/accounts/user/. Request header field header is not allowed by Access-Control-Allow-Headers in preflight response.
私はグローバルなデフォルトを設定することでなんとか動作させることができましたが、これは単一の要求に対しては最善の考えではないと思います:
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
更新:
コールの答えは私が問題を見つけるのに役立ちました。私はすでにデフォルトで認証ヘッダーを処理するdjango-cors-headersミドルウェアを使用しています。
しかし、私はエラーメッセージを理解し、axiosリクエストコードのエラーを修正することができました。
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });