Tengo un respaldo en Django usando Django Rest Framework durante una solicitud posterior. Quiero que se ingrese un token de autorización para saber si el usuario inició sesión para validar la solicitud. Pero cuando en mi front en React native, pongo en el encabezado la autorización con el token del usuario pero cuando valido la solicitud presionando el botón entra en la captura y me dice un error 401 para que yo no tener permiso. Excepto cuando lo hago con cartero, me registro, recupero el token obtenido y lo pongo en la autorización y lanzo la misma solicitud. Tengo un estado 201 creado.
Aquí está mi código en React Native Front:
const submitButton = async () => { if (!gardenName.trim()) { alert("Veuillez renter un nom de jardin s'il vous plait!"); return; } setLoading(true); try { const jsonValue = await AsyncStorage.getItem("user"); const parsedUserData = JSON.parse(jsonValue) || {}; setUser(parsedUserData); const data = new FormData(); data.append("user", parsedUserData.user.id); data.append("name", gardenName); const response = await axios.post(`${baseUrl}/garden/`, data, { headers: { Authorization: `Token ${parsedUserData.token}`, "Content-Type": "multipart/form-data", }, }); if (response.status === 201) { alert(`Votre jardin ${gardenName} a bien été crée`); setLoading(false); setGardenName(""); //navigation.replace('BottomNavigation'); } else { throw new Error("Erreur"); } } catch (e) { setLoading(false); alert(e.message); console.log(e); } };No entiendo que es lo que falta en la configuración de mi solicitud de Axios, si me pueden ilustrar gracias!
¿Actualizó sus INSTALLED_APPS de esta manera?
INSTALLED_APPS = [ ... 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'rest_framework.authtoken', .... ]y también debe actualizar su configuración REST_FRAMEWORK. Deberías agregar estas líneas.
'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.TokenAuthentication', ),