Browse Source

Middleware para la autenticación

main
jirho 1 year ago
parent
commit
6740dc9f0c
  1. 5
      app/Http/Kernel.php
  2. 36
      app/Http/Middleware/JwtMiddleware.php

5
app/Http/Kernel.php

@ -23,6 +23,11 @@ class Kernel extends HttpKernel
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
]; ];
protected $routeMiddleware = [
'jwt.auth' => \App\Http\Middleware\JwtMiddleware::class,
];
/** /**
* The application's route middleware groups. * The application's route middleware groups.
* *

36
app/Http/Middleware/JwtMiddleware.php

@ -0,0 +1,36 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Firebase\JWT\JWT;
use Firebase\JWT\Key;
use Illuminate\Http\Request;
class JwtMiddleware
{
/**
* Manejar una solicitud entrante.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$token = $request->bearerToken();
if (!$token) {
return response()->json(['message' => 'Token no proporcionado'], 401);
}
try {
JWT::decode($token, new Key(config('app.jwt_secret'), 'HS256'));
return $next($request);
} catch (\Exception $e) {
return response()->json(['message' => 'Token inválido'], 401);
}
}
}
Loading…
Cancel
Save