Reactjs - 来自 JWT 令牌的当前用户

Posted

技术标签:

【中文标题】Reactjs - 来自 JWT 令牌的当前用户【英文标题】:Reactjs - Current User from JWT token 【发布时间】:2019-01-04 11:00:20 【问题描述】:

所以,我创建了一个 django-rest-framework backendJWT 身份验证 现在,我正在尝试解决问题当用户手动提供 URL 时,我必须检查用户是否以前登录过

因此,当用户登录时,我将 token 存储到 localStorage。我正在这样做:

componentDidMount() 
    if (localStorage.getItem('token')) 
        // fetch current user
        this.props.ctx.toggleLoggedIn()
        // this.props.ctx.setUsername('')
       

如果我在localStorage 中找到token,那么我必须获取 当前用户,然后toggleLoggedIn 以及context中设置当前用户的用户名

所以,我计划创建另一个 API end-point,它在给出token 时提供当前用户。问题是我不知道如何开始!

【问题讨论】:

【参考方案1】:

这可能是我误解了,但对我来说,你似乎是在试图解决这个问题。当用户登录时,获取令牌并将其存储在 localStorage 中。登录后立即获取用户配置文件并将其存储。

如果用户手动提供了一个 url,那么您现在应该同时拥有令牌和用户。如果您没有令牌或令牌已过期,请重定向到登录页面并清除本地存储。

我会创建一个高阶组件来检查令牌是否有效,并将其用于所有“受保护”页面。

【讨论】:

以上是关于Reactjs - 来自 JWT 令牌的当前用户的主要内容,如果未能解决你的问题,请参考以下文章

无法读取未定义的 reactjs JWT 身份验证的属性“令牌”

如何使用 Cookie 进行存储 jwt 令牌用户认证?

我可以在哪里将 JWT 令牌存储在 React js 中以验证应用程序后端的各种路由?

如何在 ReactJS 上使用 JWT 令牌注销

ReactJS-在http请求的axios方法中将JWT令牌作为授权传递

Nodejs + reactjs + jwt 检查