Reactjs 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

用户在一定时间内拥有有效的jwt。如果在30分钟内未执行任何活动,则此jwt结束。jwt时间结束后,如何将用户重定向到中间件中的登录页面

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'