2016-05-05 59 views
1

現在、私はこのコードを持っています。JWTトークンを使用したLaravelは、長すぎるリフレッシュされたトークンを返します

/** 
    * Refresh a token. 
    * 
    * @param $token 
    * @return \Illuminate\Http\JsonResponse 
    */ 
    public function token($token) 
    { 
     if(!$token) 
     { 
      throw new BadRequestHttpException('Geen token aangeleverd'); 
     } 

     try { 
      $newToken = \JWTAuth::refresh($token); 
     } catch(TokenInvalidException $e) { 
      throw new AccessDeniedHttpException('Incorrect token'); 
     } 

     return \Response::json(compact('newToken')); 
    } 

私はこの方法に有効なトークンを送信すると、私はJWTAuth::refresh呼び出しから戻って非常に長いトークンを受け取ります。 新しいトークンが既存のトークンに追加されたようです。

私が間違っていることはあまりよく分かりませんので、意志で発砲してください。 ;)

答えて

1

次のリフレッシュトークンの方法があります。 JWTAuth自身がトークンを見つけさせる。

public function tokenRefresh(Request $request) 
{ 
    try { 
     $newToken = JWTAuth::setRequest($request)->parseToken()->refresh(); 
    } catch (TokenExpiredException $e) { 
     event("jwt.expired", [$e], true); 
    } catch (JWTException $e) { 
     event("jwt.invalid", [$e], true); 
    } 

    /** Our Response wrapper :) */ 
    return ApiResponse::success([ 
     'token' => $newToken, 
    ]); 
} 
関連する問題