redux-auth-wrapper icon indicating copy to clipboard operation
redux-auth-wrapper copied to clipboard

Hande logout when expired token in axios interceptors but not redirect to login page

Open nguyenducdan96 opened this issue 5 years ago • 2 comments

Hi, I'm trying to logout when expired token.

axios.interceptors.response.use(
  response => response,
  error => {
    const { config, status } = error.response;
    const originalRequest = config;
    const refreshToken = localStorage.getItem(refreshTokenKey);
    if (status === 401) {
      return apiRefreshAccessToken(refreshToken)
        .then(response => {
          localStorage.setItem(accessTokenKey, response.data.access_token);
          return axios(originalRequest);
        })
        .catch(err => {
          configureStore().dispatch(logout());
          return err;
        });
    }
    return Promise.reject(error);
  },
);
---------------------------------------------------------------------------------
import { connectedRouterRedirect } from 'redux-auth-wrapper/history4/redirect';
import locationHelperBuilder from 'redux-auth-wrapper/history4/locationHelper';
import { UrlPath } from 'commons/constants';

const locationHelper = locationHelperBuilder({});

export const userIsAuthenticated = connectedRouterRedirect({
  redirectPath: `${UrlPath}/`,
  authenticatedSelector: state => state.toJS().login.idToken !== null,
  wrapperDisplayName: 'UserIsAuthenticated',
});

export const userIsNotAuthenticated = connectedRouterRedirect({
  redirectPath: (state, ownProps) =>
    locationHelper.getRedirectQueryParam(ownProps) ||
    `${UrlPath}/fleet-dashboard`,
  allowRedirectBack: false,
  authenticatedSelector: state => state.toJS().login.idToken === null,
  wrapperDisplayName: 'UserIsNotAuthenticated',
});

when dispatch logout action, idToken null but not redirect login page. Thanks

nguyenducdan96 avatar Oct 04 '18 09:10 nguyenducdan96

hi ~ has the problem been solved ? I have the same problem,can we talk about it?My email is [email protected]

feawesome avatar Dec 23 '18 09:12 feawesome

How you are referencing the HoC inside your routing ?

bionicvapourboy avatar Feb 10 '20 13:02 bionicvapourboy