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')) { 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) $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 ]; // 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 ]); } }