我担心我们处于受保护路线中以检查用户是否已通过reactjs进行身份验证以登录他的情况。
我是响应和认证的新手,我正在关注本文以实现它https://medium.com/@thanhbinh.tran93/private-route-public-route-and-restricted-route-with-react-router-d50b27c15f5e
我的问题是:都是关于Js文件中所有人都可以访问的条件。因此,您能解释一下它是如何安全的,攻击者本身将无法操纵此条件?
[在那篇文章中,他假设如果存在令牌,则用户已登录。因此,只要令牌是安全的,就不会有安全问题。
export const login = () => {
localStorage.setItem(TOKEN_KEY, 'TestLogin');
}
但是我认为还必须考虑令牌的到期,如下所示:
import jwt_decode from "jwt-decode";
export const isLogin = () => {
const token = localStorage.getItem("TOKEN_KEY");
if (token && isValid(token)) {
return true;
}
return false;
};
const isValid = token => {
const decoded = jwt_decode(token);
const currentTime = Date.now() / 1000;
if (currentTime > decoded.exp) {
return false;
}
return true;
};