使用 React 处理 JWT 身份验证
Posted
技术标签:
【中文标题】使用 React 处理 JWT 身份验证【英文标题】:Handle JWT Authentication with React 【发布时间】:2018-10-21 00:18:01 【问题描述】:我正在尝试使用 JWT 进行身份验证的 React 应用程序,我真的不知道如何计划它,例如:
第 1 步: 用户成功登录应用,获取保存在 localStorage 上的 JWT 令牌。
第 2 步: 一旦用户登录、路由更改并且向 REST API 发出请求,该请求就会使用之前保存的令牌进行身份验证。获取的数据现在处于状态。
第 3 步: 该应用程序还有其他路由实际上只是过滤先前获取的数据,所以我认为发出新请求只是为了检查身份验证只会无缘无故地让事情变慢。
我想知道一个好的做法来处理这个问题,也许在一定时间后检查身份验证。或者正确的做法是在每次路由更改时发出请求,只是为了检查用户是否仍然通过身份验证?
【问题讨论】:
【参考方案1】:该应用还有其他路由实际上只是过滤了之前获取的数据
在每次路由更改时发出请求,只是为了检查用户是否仍然通过身份验证
如果用户已经拥有数据,那么从安全角度来看,对相同数据重新进行身份验证是没有意义的。仅当您需要确保在路由更改时更新数据时才重新获取。
【讨论】:
但是如果token在15分钟后过期,比如我不重新认证,app永远不会知道token已经过期,我该怎么办?添加计时器以在一段时间后重新进行身份验证? 为什么这很重要?当应用程序尝试使用其他端点或用户重新访问该站点时,将再次进行身份验证。不必要的抓取会浪费您的服务器和用户的带宽。以上是关于使用 React 处理 JWT 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
使用 flask-jwt-extended + ariadne (graphql) + react 设置身份验证/授权