用户在一定时间内拥有有效的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);
};
我不确定我是否正确理解了您的问题,但是假设您有特定的登录路径,而您只想将用户重定向到该路径,则可以执行此操作:
window.location.href = '/login'