From a4a84c8b9e4559946c4da97e1de0855bc3967191 Mon Sep 17 00:00:00 2001 From: jirho Date: Fri, 27 Sep 2024 14:25:02 -0300 Subject: [PATCH] clave de ruta login debe ir por body no por param --- app/Http/Controllers/AuthController.php | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index e01ebee..4292600 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -31,32 +31,37 @@ class AuthController extends Controller */ public function login(Request $request) { + + // Verifica que la clave secreta esté presente en el cuerpo de la solicitud POST if (! $request->has('clave_secreta')) { return response()->json(['message' => trans('api.SIN_CLAVE')], HttpStatus::BAD_REQUEST); } - - // Verificar la clave secreta - if ($request->clave_secreta !== config('app.clave')) { + + // Verificar la clave secreta proporcionada en los datos POST + $claveSecreta = $request->input('clave_secreta'); + + if ($claveSecreta !== config('app.clave')) { return response()->json(['message' => trans('api.CLAVE_INCORRECTA')], HttpStatus::UNAUTHORIZED); } - - $expirationTime = time() + (15 * 60); // 15 minuto - - // Datos que quieres incluir en el JWT (puedes personalizarlo) + + $expirationTime = time() + (15 * 60); // 15 minutos + + // Datos que quieres incluir en el JWT $payload = [ 'iss' => 'tu-dominio.com', // Issuer del token 'iat' => time(), // Hora en que se creó el token 'exp' => $expirationTime, // Expiración de 15 minutos - 'clave_secreta' => $request->clave_secreta, // Datos personalizados en el token + 'clave_secreta' => $claveSecreta, // 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, 'expiracion_segundos' => $expirationTime - time(), // Tiempo en segundos hasta la expiración 'tiempo_expiracion' => date('Y-m-d H:i:s', $expirationTime), // Fecha y hora de expiración ]); } + }