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

前端之家收集整理的这篇文章主要介绍了javascript – 如何在React / Redux中Session(JWT)到期时发出警报前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

服务器使用JWT令牌对用户进行身份验证,并且React确实不知道此类令牌的存在,浏览器会自动处理它.在获取和发布Redux的情况下,设置数据或状态错误.

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

最佳答案
我当前的方法是将jwt存储在localStorage中,当应用程序启动时,我正在加载令牌,尝试使用令牌加载用户数据,如果失败,只需重定向到/ login

然后我只在api模块中使用jwt,而不是在商店中.

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

如果api模块识别出认证失败,它也会从localStorage中删除令牌..因此下次无法加载.

我的api模块也与redux分开,知道何时使用jwt,何时不使用.

为了使这项工作更抽象,我创建了一个中间件,如果有效负载是一个错误并且值未经过身份验证,它会对每个操作做出反应

如果服务器响应由于auth而失败,这是我在api模块中的错误. actionCreator只是在catch中调度错误,中间件对它做出反应.

所以实际上由你来决定如何去做,我所说的所有代码都是~100 LOC左右……只是一些处理这个问题的方法.

猜你在找的JavaScript相关文章