|
|
|
@ -2,6 +2,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Middleware; |
|
|
|
namespace App\Http\Middleware; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use App\Constants\HttpStatus; |
|
|
|
use Closure; |
|
|
|
use Closure; |
|
|
|
use Firebase\JWT\JWT; |
|
|
|
use Firebase\JWT\JWT; |
|
|
|
use Firebase\JWT\Key; |
|
|
|
use Firebase\JWT\Key; |
|
|
|
@ -21,24 +22,20 @@ class JwtMiddleware |
|
|
|
$token = $request->bearerToken(); |
|
|
|
$token = $request->bearerToken(); |
|
|
|
|
|
|
|
|
|
|
|
if (!$token) { |
|
|
|
if (!$token) { |
|
|
|
return response()->json(['message' => 'Token no proporcionado'], 401); |
|
|
|
return response()->json(['message' => trans('api.SIN_TOKEN')], HttpStatus::BAD_REQUEST); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
try { |
|
|
|
|
|
|
|
|
|
|
|
$decodedToken = JWT::decode($token, new Key(config('app.jwt_secret'), 'HS256')); |
|
|
|
JWT::decode($token, new Key(config('app.jwt_secret'), 'HS256')); |
|
|
|
|
|
|
|
|
|
|
|
if (isset($decodedToken->exp) && $decodedToken->exp < time()) { |
|
|
|
|
|
|
|
return response()->json(['message' => 'Token ha expirado'], 401); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return $next($request); |
|
|
|
return $next($request); |
|
|
|
|
|
|
|
|
|
|
|
} catch (\Firebase\JWT\ExpiredException $e) { |
|
|
|
} catch (\Firebase\JWT\ExpiredException $e) { |
|
|
|
return response()->json(['message' => 'Token ha expirado'], 401); |
|
|
|
return response()->json(['message' => trans('api.TOKEN_EXPIRADO')], HttpStatus::UNAUTHORIZED); |
|
|
|
|
|
|
|
|
|
|
|
} catch (\Exception $e) { |
|
|
|
} catch (\Exception $e) { |
|
|
|
return response()->json(['message' => 'Token inválido'], 401); |
|
|
|
return response()->json(['message' => trans('api.TOKEN_INVALIDO')], HttpStatus::UNAUTHORIZED); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|