Come posso inviare un'intestazione di autenticazione con un token tramite axios.js? Ho provato alcune cose senza successo, ad esempio:
const header = `Authorization: Bearer ${token}`;
return axios.get(URLConstants.USER_URL, { headers: { header } });
Mi dà questo errore:
XMLHttpRequest cannot load http://localhost:8000/accounts/user/. Request header field header is not allowed by Access-Control-Allow-Headers in preflight response.
Sono riuscito a farlo funzionare impostando l'impostazione predefinita globale, ma immagino che questa non sia l'idea migliore per una singola richiesta:
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
Aggiornare :
La risposta di Cole mi ha aiutato a trovare il problema. Sto usando il middleware django-cors-headers che gestisce già l'intestazione di autorizzazione per impostazione predefinita.
Ma sono riuscito a capire il messaggio di errore e ho corretto un errore nel mio codice di richiesta axios, che dovrebbe assomigliare a questo
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });