jwt-auth无缝刷新令牌报拉入黑名单问题

扩展包用的是tymon/jwt-auth
参考了https://learnku.com/articles/...,想做令牌的无缝刷新,因为token刷新以后,旧token会失效,但是这次请求要继续下去才能返回新token给前端,所以作者为了暂时通过这一次的请求,就加了以下代码
Auth::guard('api')->onceUsingId($this->auth->manager()->getPayloadFactory()->buildClaimsCollection()->toPlainArray()['sub']);
但是我这边旧token过期了,异常捕获到了过期,成功生成了新token,但是!!!一直报错The token has been blacklisted(因为token已经刷新所以旧token被拉进黑名单),为什么会不能做到暂时通过呢?有大神知道什么原因吗?
imageimage

阅读 6k
2 个回答

新的Token替换掉旧的Token时,同时会在响应头中返回新的 token:

return $this->setAuthenticationHeader($next($request), $token);

正确的做法应该是当 Header 头携带 Authorization 时,就要及时自动替换新的 token。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题