Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

114
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda