gpt4 book ai didi

javascript - 如何在 React/Redux 中 Session (JWT) 过期时发出警报

转载 作者:搜寻专家 更新时间:2023-11-01 04:23:08 25 4
gpt4 key购买 nike

在 React/Redux 应用程序中有哪些方法可以提醒用户 session 过期?

服务器使用 JWT token 对用户进行身份验证,React 并不知道这种 token 的存在,浏览器会自动处理它。在获取和发布 Redux 的情况下,要么设置数据,要么状态错误。

尝试访问 API 端点时被动检查响应、使用过期字段设置客户端超时、主动确保 session 有效性或其他一些技术的典型方法是什么?我特别担心用户所做的未保存更改,并希望尽快通知用户 session 已结束。

最佳答案

我目前的做法是将jwt存储在localStorage中,当应用程序启动时,我正在加载 token ,尝试使用 token 加载用户数据,如果失败,则重定向到/login

然后我只在 api 模块中使用 jwt,根本不在商店中使用。

我的 Api 模块根据请求知道何时使用 token ,何时不使用

如果 api 模块识别出身份验证失败,它还会从 localStorage 中删除 token 。因此下次无法加载它。

我的api模块,也是从redux中分离出来的,知道什么时候用jwt,什么时候不用。

为了使这项工作更加抽象,我创建了一个中间件,如果有效载荷是一个错误并且值为Not Authenticated

,它会对每个操作使用react

这是我在 api 模块中抛出的错误,如果服务器响应因身份验证而失败。 actionCreator 只是分派(dispatch) catch 中的错误,中间件对此使用react。

所以实际上这取决于你如何去做,我所说的所有代码都是 ~100 LOC 左右..只是一些处理这些事情的方法。

关于javascript - 如何在 React/Redux 中 Session (JWT) 过期时发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38425377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com