React + NodeJS中的JWT刷新令牌

时间:2018-09-27 14:11:41

标签: node.js reactjs authentication jwt

在一个小项目上工作,并使用jwt令牌进行了一些身份验证,整个过程如下所示:

  1. 在auth / register上生成jwt令牌以及refreshToken
  2. 使用令牌进行请求
  3. 如果令牌已过期,我将查询请求用户及其刷新令牌,并比较其当前请求的refreshToken和数据库令牌
  4. 如果令牌匹配,我将生成一个新令牌和一个新的刷新令牌。

整个问题是第5步,可以说我向“ / me / friends”发出请求,并且在令牌过期的过程中,我随后用我的refreshToken创建了一个新令牌,但我不知道该怎么办将令牌返回到“我/朋友” api调用的前端,因为它返回特定字段的数组,并且令牌与它无关。我只是无法理解应该如何工作,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您如何在客户端存储令牌?最简单的方法是将其存储在cookie中。在这种情况下,第5步将变为使用请求设置更新的Cookie。

另一种选择是从端点返回401-Unauthorized,然后在客户端可以尝试手动刷新令牌然后重试请求来处理401状态代码。

但是我认为,如果您不使用某种身份验证中间件,而该身份验证中间件在auth过期时根本无法到达端点,那么选项1是更可取的。