Jak mogę wysłać nagłówek uwierzytelniania z tokenem za pośrednictwem axios.js? Próbowałem kilku rzeczy bez powodzenia, na przykład:
const header = `Authorization: Bearer ${token}`;
return axios.get(URLConstants.USER_URL, { headers: { header } });
Daje mi ten błąd:
XMLHttpRequest cannot load http://localhost:8000/accounts/user/. Request header field header is not allowed by Access-Control-Allow-Headers in preflight response.
Udało mi się to uruchomić, ustawiając globalną wartość domyślną, ale domyślam się, że nie jest to najlepszy pomysł na pojedyncze żądanie:
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
Aktualizacja :
Odpowiedź Cole'a pomogła mi znaleźć problem. Używam oprogramowania pośredniczącego django-cors-headers, które już domyślnie obsługuje nagłówek autoryzacji.
Ale byłem w stanie zrozumieć komunikat o błędzie i naprawiłem błąd w moim kodzie żądania axios, który powinien wyglądać tak
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });