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
Hi, I'm trying to logout when expired token.
when dispatch logout action, idToken null but not redirect login page.
Thanks