私有路由中的条件是否足以保护路由(在reactjs中)

问题描述 投票:0回答:1

我担心我们处于受保护路线中以检查用户是否已通过reactjs进行身份验证以登录他的情况。

我是响应和认证的新手,我正在关注本文以实现它https://medium.com/@thanhbinh.tran93/private-route-public-route-and-restricted-route-with-react-router-d50b27c15f5e

我的问题是:都是关于Js文件中所有人都可以访问的条件。因此,您能解释一下它是如何安全的,攻击者本身将无法操纵此条件?

reactjs authentication react-router
1个回答
0
投票

[在那篇文章中,他假设如果存在令牌,则用户已登录。因此,只要令牌是安全的,就不会有安全问题。

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;
};
© www.soinside.com 2019 - 2024. All rights reserved.