validate([ 'clave_secreta' => 'required', ]); // Verificar la clave secreta if ($request->clave_secreta !== config('app.clave')) { return response()->json(['message' => 'Credenciales inválidas'], 401); } $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, 'expires_in' => $expirationTime - time(), // Tiempo en segundos hasta la expiración 'expiration_time' => date('Y-m-d H:i:s', $expirationTime) // Fecha y hora de expiración ]); } }