2017-06-26 79 views
1

我使用JWT-Auth進行身份驗證。我創建了一箇中間件來檢查令牌是否過期,然後刷新令牌並更新頭部。但是在我的控制器中getToken()沒有得到新的令牌,但返回了過期的令牌。我檢查了我的控制器中的標題的值,它有新的令牌。JWT :: getToken()沒有得到適當的令牌

這是我要做的事在我的中間件:

$new_token = JWTAuth::refresh($token); 
$request->headers->set('Authorization', 'Bearer '.$new_token); 
$response = $next($request); 

,這是在我的控制器:JWT包5.12

$token = JWTAuth::getToken(); 

回答

0

看他們的代碼之後。我發現一個setToken()函數解決了我的問題。我修改我的代碼是這樣的:

$new_token = JWTAuth::refresh($token); 
JWTAuth::setToken($new_token); 
$response = $next($request); 
$response->header('Authorization','Bearer '.$new_token); 
return $response;