JWT::getToken() 未获得正确的令牌
JWT::getToken() doesn't get the proper token
我正在使用 JWT-Auth 进行身份验证。我创建了一个中间件来检查令牌是否过期,然后刷新令牌并更新 header。但是在我的控制器中 getToken() 没有得到新的令牌,而是 returns 过期的令牌。我已经在我的控制器中检查了 header 的值,它有新的令牌。
这是我在中间件中的做法:
$new_token = JWTAuth::refresh($token);
$request->headers->set('Authorization', 'Bearer '.$new_token);
$response = $next($request);
这是在我的控制器中:
$token = JWTAuth::getToken();
在 composer.json 文件中将 JWT 包 5.12 版本更改为 5.11 然后它可以正常工作。
几天前我也遇到了同样的问题
看了他们的代码之后。我发现 setToken()
函数解决了我的问题。我这样修改了我的代码:
$new_token = JWTAuth::refresh($token);
JWTAuth::setToken($new_token);
$response = $next($request);
$response->header('Authorization','Bearer '.$new_token);
return $response;
我正在使用 JWT-Auth 进行身份验证。我创建了一个中间件来检查令牌是否过期,然后刷新令牌并更新 header。但是在我的控制器中 getToken() 没有得到新的令牌,而是 returns 过期的令牌。我已经在我的控制器中检查了 header 的值,它有新的令牌。
这是我在中间件中的做法:
$new_token = JWTAuth::refresh($token);
$request->headers->set('Authorization', 'Bearer '.$new_token);
$response = $next($request);
这是在我的控制器中:
$token = JWTAuth::getToken();
在 composer.json 文件中将 JWT 包 5.12 版本更改为 5.11 然后它可以正常工作。 几天前我也遇到了同样的问题
看了他们的代码之后。我发现 setToken()
函数解决了我的问题。我这样修改了我的代码:
$new_token = JWTAuth::refresh($token);
JWTAuth::setToken($new_token);
$response = $next($request);
$response->header('Authorization','Bearer '.$new_token);
return $response;