使用JWT进行永久登录

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

我有一个在React客户端/ Express API中创建的具有可运行身份验证的应用程序。我可以注册,登录等。

现在,我尝试使用JWT令牌添加永久登录,以便如果用户打开URL,它将立即将其定向到Web应用程序的主页。

拳头我正在从我的Reactapp中的src/services/api导出令牌函数

api.js

export const getToken = () => {
  const token = localStorage.getItem('authToken');
  api.defaults.headers.common.authorization = (token && `Bearer ${token}`) || '';
  return token;
};

然后将其传递给App.js

App.js

import { getToken } from './services/api'

并进入App.js的渲染方法>

  render() {
    //Persistent Login: Send user to dashboard if already authenticated
    const isAuthenticated = getToken()
    if (isAuthenticated) {
      return <Redirect to="/dashboard" />
    }

问题是,如果我关闭网页并打开,它将被重定向,但是它将转到空白屏幕。控制台或网络选项卡中没有显示任何错误的数据。

我能够在Chrome> Inspector工具>应用程序>本地存储

中查看本地存储中的令牌。
KEY                 VALUE
authToken           someTokenLikeiIsInR5cCI6IkpXVCJ9

如果删除App.js的render方法中的代码,则可以看到页面布局。

我对React和会话处理还是比较陌生。我在网上找到的大多数信息都与React + Redux有关(我还没有使用过),所以我陷入了困境。

任何想法,为什么屏幕返回空白?任何建议/解决方案都非常好,谢谢。

我有一个在React客户端/ Express API中创建的具有可运行身份验证的应用程序。我能够注册,登录等。现在,我尝试使用JWT令牌添加永久登录,以便如果用户打开...

javascript reactjs jwt
1个回答
1
投票

好像您在检查过程中得到无限循环

© www.soinside.com 2019 - 2024. All rights reserved.