دنبال کننده ها

۱۳۹۶ مرداد ۱۱, چهارشنبه

javascript - React + Redux update accessToken by refreshToken and re-send all crash dispatch with new accessToken

[ad_1]



I have this code to add accessToken to all request:



axios.interceptors.request.use(function (config) ;
config.params.access_token = localStorage.getItem('access_token');
return config;
, function (error)
// Do something with request error
return Promise.reject(error);
);


And I have interceptor to check all 401 errors



 axios.interceptors.response.use(function (response) 
return response;
, function (error)
if (error.response.status === 401)
if (error.response.data.error === 'invalid_token')

history.push('/login');
else if (error.response.data.error === 'token_expired')
//self.props.dispatch(OauthAction.tokenExpired());



return Promise.reject(error);
);


How can I get new access token by refreshToken, when token expired and resend all crash dispatch with new token.For example, when this request is crash, I need to get new token and my function must again send request for update data on page:



export function getNews() 
return (dispatch =>
axios.get(Config.DOMAIN + 'news')
.then(response =>
dispatch(setNews(response.data))
)

)





[ad_2]

لینک منبع