Reactjs Jwt过期控制和重定向登录页面
用户在一定时间内拥有有效的jwt。如果在30分钟内未执行任何活动,则此jwt结束。jwt时间结束后,如何将用户重定向到中间件中的登录页面Reactjs Jwt过期控制和重定向登录页面,reactjs,redux,redux-thunk,Reactjs,Redux,Redux Thunk,用户在一定时间内拥有有效的jwt。如果在30分钟内未执行任何活动,则此jwt结束。jwt时间结束后,如何将用户重定向到中间件中的登录页面 return (next) => (action) => { if (typeof action === 'function') { if (getToken() && !getState().auth.pendingRefreshingToken) { const tokenExp = new
return (next) => (action) => {
if (typeof action === 'function') {
if (getToken() && !getState().auth.pendingRefreshingToken) {
const tokenExp = new Date(getTokenExp() * 1000);
if (new Date() < tokenExp) { // JWT Expiration Control
const refreshThreshold = new Date((new Date().getTime() + 300000));
if (refreshThreshold > new Date(getTokenExp() * 1000)) {
refreshToken(dispatch).then(() => next(action)); // JWT Refresh
}
} else {
logoutMiddleware(dispatch); // JWT Expiration(I want to redirect user to login page)
}
}
}
return next(action);
};
返回(下一步)=>(操作)=>{
如果(动作类型===‘功能’){
if(getToken()&&!getState().auth.pendingRefreshingToken){
const tokenExp=新日期(getTokenExp()*1000);
if(new Date()新日期(GetTokenXP()*1000)){
refreshToken(dispatch)。然后(()=>next(action));//JWT刷新
}
}否则{
logoutMiddleware(dispatch);//JWT过期(我想将用户重定向到登录页面)
}
}
}
返回下一步(操作);
};
我不确定是否正确理解了您的问题,但假设您有特定的登录路径,并且您只想将用户重定向到该路径,则可以执行以下操作:
window.location.href = '/login'