因此,我已经使用 JWT身份验证创建了 django-rest-framework 后端,现在,我正在尝试解决以下问题当用户手动提供 URL 时,我必须检查用户以前是否登录。
因此,既然如此,我将在用户登录时将令牌存储到localStorage
。我正在这样做:
componentDidMount() {
if (localStorage.getItem('token')) {
// fetch current user
this.props.ctx.toggleLoggedIn()
// this.props.ctx.setUsername('')
}
}
如果我在token
中找到了localStorage
,则必须获取当前用户 ,然后 toggleLoggedIn ,并在context
中设置当前用户的用户名。
因此,我打算创建另一个 API 端点,当给定token
时,该API提供当前用户。问题是我不知道该如何开始!
答案 0 :(得分:1)
可能是我误会了,但对我来说,似乎您正在尝试解决此问题。用户登录时,获取令牌并将其存储在localStorage中。登录后立即获取用户个人资料并将其存储。
如果用户手动提供一个URL,则您现在应该同时具有令牌和用户。如果您没有令牌或令牌已过期,请重定向到登录页面并清除本地存储。
我将创建一个更高阶的组件来检查令牌是否有效,并将其用于所有“受保护的”页面。