我正在使用 Django REST 框架、react 和 redux 开发网站,例如分类广告。我有一个关于 JWT 身份验证的问题。我想使用 djangorestframework_simplejwt 进行身份验证,并且我检查了一些教程。我看到很多教程都在客户端检查访问令牌,如下所示
export function isAccessTokenExpired(state) {
if (state.access && state.access.exp) {
return 1000 * state.access.exp - (new Date()).getTime() < 5000
}
return true
}
并刷新令牌。但我不知道为什么。因为每次我们收到带有过期访问令牌的 HTTP 401 Unauthorized 错误时,只需使用刷新令牌请求新的访问令牌。
我认为的工作流程是
- 向服务器发送带有访问令牌的请求,以获取只有经过身份验证的用户才能看到的页面。
- 如果访问令牌过期,前端将收到 HTTP 401 Unauthorized 错误。
- 向服务器发送带有刷新令牌的请求以获取新的访问令牌,然后前端将其存储到 localStorage。
- 再次发送请求。
这是不好的方式吗?
我为我糟糕的英语道歉......