Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

115
Vistas
Tratar con interceptores axios al enviar muchas solicitudes ajax

Yo uso Larave+JWT y vue2 + vuex2 + axios

Entonces, cuando el usuario inicia sesión, almaceno el token de autenticación en la tienda vuex. Cuando el token caduca, necesito actualizarlo. Para actualizarlo, necesito enviar el mismo token a /refresh route y obtener un nuevo token. Al menos así es como lo conseguí y en realidad funciona.

El problema es que el interceptor detecta las respuestas 401 e intenta actualizar el token, pero ¿y si, por ejemplo, en mi componente envío muchas solicitudes con un token caducado? Dado que las solicitudes ajax son asíncronas, el código del interceptor se ejecuta muchas veces. Así que recibí muchas solicitudes de actualización. Una vez que se actualiza el token inicial, no se considera válido. Cuando el interceptor intenta actualizar el servidor de token no válido, responde con un error y lo redirecciono a la página de inicio de sesión.

Aquí está el código:

 axios.interceptors.response.use((response) => { return response; }, (error) => { const originalRequest = error.config; if (error.response.status === 401 && !originalRequest._retry) { originalRequest._retry = true axios.post('auth/refresh').then((response) => { let token = response.data.token store.dispatch('auth/setAuthToken', token) let authorizationHeader = `Bearer ${token}` axios.defaults.headers = { 'Authorization': authorizationHeader } originalRequest.headers['Authorization'] = authorizationHeader return axios(originalRequest) }, (error) => { store.dispatch('auth/clearAuthInfo') router.push({ name: 'login' }) }) } return Promise.reject(error); });
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Creo que tendrá que cambiar su enfoque sobre cómo actualiza su token. Líderes como Auth0 recomiendan actualizaciones periódicas proactivas para resolver este problema.

Aquí hay una respuesta SO donde hablan de eso.

Establezca la caducidad del token en una semana y actualice el token cada vez que el usuario abra la aplicación web y cada hora. Si un usuario no abre la aplicación durante más de una semana, tendrá que volver a iniciar sesión y esta es una experiencia de usuario de aplicación web aceptable.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda