Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

check if refresh token expired redirect

import axios from 'axios';

// additional code that lives in its own module
const getToken = () => {
  return isAuth() ? window.localStorage.getItem("token") : "";
};

const getRefreshToken = () => {
  return isAuth() ? window.localStorage.getItem("refresh_token") : "";
};

const setTokens = (token, refresh) => {
  window.localStorage.setItem("token", token);
  window.localStorage.setItem("refresh_token", refresh);
};
// this is on my app.js file
axios.interceptors.response.use(function (response) {
  return response;
}, function (error) {
  const originalRequest = error.config;
  if (error.response.status === 401 && !originalRequest._retry) {
    originalRequest._retry = true;
    // Hace la solicitud de refresco de tokens
    return axios.get('/api/v1/auth', {headers: {'Authorization': 'Bearer ' + getRefreshToken()}})
      .then((responseData) => {
        // actualiza la información de OAuth
        setTokens(responseData.data.access_token, responseData.data.refresh_token);
        axios.defaults.headers.common['Authorization'] = 'Bearer ' + getToken();
        originalRequest.headers['Authorization'] = 'Bearer ' + getToken();
        // re-intenta la solicitud original
        return axios(originalRequest);
      }).catch(function (error) {
        console.log(error);
        setTokens(undefined, undefined);
        window.location.pathname = "/login";
      });
  }
  return Promise.reject(error);
});
Comment

PREVIOUS NEXT
Code Example
Javascript :: Font Size changed from device OS react native app 
Javascript :: radio button schema mongoose 
Javascript :: how to find dates in a string in js 
Javascript :: how to coerce a string to number in javascript 
Javascript :: custom right click js 
Javascript :: javascript merging arrays 
Javascript :: sequelize documentation 
Javascript :: a function that returns a string javascript 
Javascript :: js regex find text inside single quotes 
Javascript :: javascript stringify blob 
Javascript :: what is tostring in js 
Javascript :: javascript diffence between a++ and ++a 
Javascript :: how to combine two regular expressions in javascript 
Javascript :: js splice 
Javascript :: javascript for loop 
Javascript :: can be converted to number js 
Javascript :: jquery deferred 
Javascript :: Delete - Cloudinary 
Javascript :: joi validate 
Javascript :: on enter to tab javascript 
Javascript :: changing map style react-leaflet 
Javascript :: Show Modal Dialog on Jetpack Compose 
Javascript :: conditional operator 
Javascript :: on drop, drag, dragover event 
Javascript :: generate uuid 
Javascript :: how to link to certain section of a website in react 
Javascript :: store object in input value 
Javascript :: currenttarget javascript 
Javascript :: props in classes 
Javascript :: how to call function on every keypress in jquery 
ADD CONTENT
Topic
Content
Source link
Name
7+7 =