cookies - cookie - javascript fetch syntax
Obtener API con cookie (4)
Acabo de resolver. Solo dos f. días de brutforce
Para mí el secreto estaba en seguir:
-
Llamé a POST / api / auth y vi que las cookies se recibieron con éxito.
-
Luego llamé a GET / api / users / con
credentials: ''include''
y obtuve 401 unauth, debido a que no se enviaron cookies con la solicitud.
La CLAVE es establecer
credentials: ''include''
para la primera llamada / api / auth también.
Estoy probando la nueva API Fetch pero tengo problemas con las cookies. Específicamente, después de un inicio de sesión exitoso, hay un encabezado de Cookie en solicitudes futuras, pero Fetch parece ignorar esos encabezados, y todas mis solicitudes realizadas con Fetch no están autorizadas.
¿Es porque Fetch todavía no está listo o Fetch no funciona con Cookies?
Construyo mi aplicación con Webpack. También uso Fetch en React Native, que no tiene el mismo problema.
Además de la respuesta de @ Khanetor, para aquellos que trabajan con solicitudes de origen cruzado:
credentials: ''include''
Ejemplo de solicitud de búsqueda JSON:
fetch(url, {
method: ''GET'',
credentials: ''include''
})
.then((response) => response.json())
.then((json) => {
console.log(''Gotcha'');
}).catch((err) => {
console.log(err);
});
https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials
Fetch no utiliza cookies por defecto. Para habilitar la cookie, haga esto:
fetch(url, {
credentials: "same-origin"
}).then(...).catch(...);
Si está leyendo esto en 2019,
credentials: "same-origin"
es el valor predeterminado.
fetch(url).then