Browse Source

middleware de jwt mejoras: mensaje slang y constantes http

main
jirho 1 year ago
parent
commit
20adc5d4d9
  1. 13
      app/Http/Middleware/JwtMiddleware.php

13
app/Http/Middleware/JwtMiddleware.php

@ -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);
} }
} }
} }

Loading…
Cancel
Save