Wie kann ich einen Authentifizierungsheader mit einem Token über axios.js senden? Ich habe ein paar Dinge ohne Erfolg ausprobiert, zum Beispiel:
const header = `Authorization: Bearer ${token}`;
return axios.get(URLConstants.USER_URL, { headers: { header } });
Gibt mir diesen Fehler:
XMLHttpRequest cannot load http://localhost:8000/accounts/user/. Request header field header is not allowed by Access-Control-Allow-Headers in preflight response.
Ich habe es geschafft, es durch Festlegen eines globalen Standards zum Laufen zu bringen, aber ich vermute, dass dies nicht die beste Idee für eine einzelne Anfrage ist:
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
Update:
Coles Antwort half mir, das Problem zu finden. Ich verwende die Middleware django-cors-headers, die standardmäßig bereits den Autorisierungsheader verarbeitet.
Aber ich konnte die Fehlermeldung verstehen und einen Fehler in meinem Axios-Anforderungscode beheben, der so aussehen sollte
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });