Pur*_*nda 3 javascript express jwt reactjs redux
我正在使用访问刷新 jwt 身份验证流程,并希望客户端在收到访问令牌后每 10 分钟发送一个刷新令牌以获取新的访问令牌。我还想确保如果用户关闭他们的笔记本电脑一个小时并返回到它,也会发送一个新的访问令牌请求。在 React/redux 中实现这种行为的最佳方法是什么,用户将始终拥有有效的访问令牌并无缝地保持他们的“会话”继续进行?
为此,您可以在每次请求之前有条件地检查令牌的到期时间,而不是设置计时器。
这将取决于您与服务器通信的方式,但我们的想法是在客户端存储 jwt 令牌、他的到期时间和刷新令牌(以及他的到期时间,如果需要)然后在每个需要身份验证的请求之前使用某种中间件:
const authClientMiddleware = (done) => {
if (new Date(localStorage.getItem('expiration')) <= new Date()) {
getNewToken(localStorage.getItem('refreshToken')).then(() => done()).catch(() => logout());
} else {
done();
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2276 次 |
最近记录: |