From 26744318e70c9ed14dd0aa494ee66b85df811c96 Mon Sep 17 00:00:00 2001 From: jirho Date: Tue, 24 Sep 2024 13:19:26 -0300 Subject: [PATCH] Controlador para loguearse y obtener el token --- app/Http/Controllers/AuthController.php | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 app/Http/Controllers/AuthController.php diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php new file mode 100644 index 0000000..862263e --- /dev/null +++ b/app/Http/Controllers/AuthController.php @@ -0,0 +1,35 @@ +validate([ + 'clave_secreta' => 'required', + ]); + + // Verificar la clave secreta + if ($request->clave_secreta !== config('app.clave')) { + return response()->json(['message' => 'Credenciales inválidas'], 401); + } + + // Datos que quieres incluir en el JWT (puedes personalizarlo) + $payload = [ + 'iss' => "tu-dominio.com", // Issuer del token + 'iat' => time(), // Hora en que se creó el token + 'exp' => time() + 60*15, // Expiración de 15 minutos + 'clave_secreta' => $request->clave_secreta // Datos personalizados en el token + ]; + + // Generar el token JWT usando la clave secreta desde el .env + $jwt = JWT::encode($payload, config('app.jwt_secret'), 'HS256'); + + return response()->json(['token' => $jwt]); + } +}