2016-08-14 6 views
1

|こんにちは、私はJWT(https://github.com/tymondesigns/jwt-auth)を稼働させようとしているLaravel 5.2を使用していますので、問題は私が例外を捕まえることができない、私はカスタム応答をエラーが、私はそれをキャッチすることはできません、phpstormは、名前空間がTymon\JWTAuth\**Exceptions**\TokenInvalidException間違っているが、私はベンダーのフォルダに行き、名前空間を確認することは権利であることを示唆している、ここでのコードは次のとおりです。Laravel 5 JWT issue

try { 

     if (!$user = JWTAuth::parseToken()->authenticate()) { 
      return response()->json(['user_not_found'], 404); 
     } 
    } catch (Tymon\JWTAuth\Exceptions\TokenInvalidException $e) { 

     return ['token_invalid']; 

    } 
    return $user; 

のでreturn ['token_invalid'];が実行されていませんトークンをミスマッチすると、画面全体に例外がスローされます。

答えて

0

opsはJWTExceptionを名前空間として使用してください。ここでの作業コードは次のとおりです。

try { 
    if (!$user = JWTAuth::parseToken()->authenticate()) { 
     return response()->json(['user_not_found'], 404); 
    } 
} catch (JWTException $e) { 
    return ['token_invalid']; 
} 

return $user; 
0

あなたはbackslash

\Tymon\JWTAuth\Exceptions\JWTException $e 
+0

を忘れてしまった私はそう思います。 Typed例外が優先されますが、\ Exceptionを使用して例外をキャッチすることができます。 – Madhab452