После аутентификации запретить доступ к странице авторизации через кнопку браузера назад реагировать - PullRequest
0 голосов
/ 30 июня 2019

Я пытаюсь разработать приложение, в котором у пользователя есть страница входа в систему, страница профиля и страница выхода из системы, когда пользователь выполняет действие входа, он перенаправлен на страницу профиля, проблема заключается в том, что пользователь нажимает браузерКнопка назад он может перейти на страницу входа.Как я могу запретить это?

У меня есть withAuth HOC, закомментированный раздел - это то, что я пробовал:

экспортировать функцию по умолчанию сAuth (ComponentToProtect, shouldRedirect) {

returnкласс расширяет Компонент {state = {loading: true, redirect: false, isAuthenticated: false};

componentDidMount() {
  fetch("https://avagram.herokuapp.com/checkToken", {
    headers: {
      "x-access-token": sessionStorage.getItem("token")
    }
  })
    .then(res => {
      if (res.status === 200) {
        this.setState({ loading: false, isAuthenticated: true });
      } else {
        const error = new Error(res.error);
        throw error;
      }
    })
    .catch(err => {
      console.error(err);
      this.setState({ loading: false, redirect: true });
    });
}

render() {
  const { loading, redirect, isAuthenticated } = this.state;
  if (loading) {
    return <LoadingComponent />;
  }
  if (redirect && shouldRedirect) {
    return <Redirect to="/" />;
  }
  // if (isAuthenticated) {
  //   return <Redirect to="/secret" />;
  // }
  return (
    <React.Fragment>
      <NavBar {...this.state} />
      <ComponentToProtect {...this.props} {...this.state} />
    </React.Fragment>
  );
}

};}

Я ожидаю, что не могу вернуться на страницу входа, нажав кнопку назад, но нажав кнопку возврата в браузере, я могу вернуться на страницу входа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...