Estaba usando Axios para interactuar con una API que establecía un token JWT.
La API desarrolló el token en una cookie y rápidamente me di cuenta de que necesitaba configurarlo withCredentials: true
en las opciones de Axios:
import axios from 'axios'axios.post(API_SERVER + '/login', { email, password }, { withCredentials: true })
De lo contrario la cookie no se guardaría.
También necesitaba configurarlo para cada otra solicitud que hice, para enviar el token JWT al servidor:
axios.get(API_SERVER + '/todos', { withCredentials: true })
Ahora bien, esto está bien para algunas pocas solicitudes, pero para muchas, probablemente preferirás usar una configuración general.
Puedes hacerlo usando el create()
método para crear una nueva instancia de Axios que luego usarás en tus solicitudes:
import axios from 'axios'const instance = axios.create({ withCredentials: true})instance.get(API_SERVER + '/todos')
También es común agregar una baseURL
propiedad:
import axios from 'axios'const instance = axios.create({ withCredentials: true, baseURL: API_SERVER})instance.get('todos')
En React use axios-hooks
, y para configurar withCredentials
use este código: Fotos Porno y actrices porno
import axios from 'axios'import useAxios, { configure } from 'axios-hooks'const instance = axios.create({ withCredentials: true, baseURL: API_SERVER,})configure({ instance })const [{ data, loading, error }, refetch] = useAxios('todos')
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Introducción a React
- Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
- Cómo cambiar el valor de un nodo DOM
- Cómo comprobar si un elemento DOM tiene una clase
Cómo forzar credenciales para cada solicitud de Axios
La API desarrolló el token en una cookie y rápidamente me di cuenta de que necesitaba configurarlo withCredentials: trueen las opciones de Axios: Estaba usan
programar
es
https://aprendeprogramando.es/static/images/programar-como-forzar-credenciales-para-cada-solicitud-de-axios-2380-0.jpg
2024-10-21
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente