Saltar al contenido principal

Limitación de la tasa de envío

Logto aplica un límite de tasa incorporado, por destinatario, a los códigos de verificación salientes y otros mensajes enviados por correo electrónico y SMS. Esto protege a tus usuarios y a tus proveedores de mensajería contra el abuso de envíos—como un atacante que envía spam a la bandeja de entrada o al teléfono de una víctima con códigos, o que incrementa el tráfico de SMS para inflar tus costos.

Este límite es obligatorio y a nivel de sistema: se aplica a cada inquilino sin importar el plan y no es configurable por el inquilino. Es independiente de:

  • Las políticas de bloqueo de identificador y CAPTCHA, que limitan intentos de verificación fallidos en el momento de la verificación y no el acto de enviar.
  • El límite global de tasa de API por inquilino (código de error request.rate_limited), que limita el volumen total de solicitudes en un inquilino.

Cómo funciona​

  • Límite por destinatario: Logto limita cuántos mensajes se pueden enviar al mismo destinatario (dirección de correo electrónico o número de teléfono) dentro de una ventana de tiempo corta y móvil. Por defecto, esto permite hasta 10 envíos por destinatario cada 10 minutos.
  • Dónde se aplica: todos los caminos de envío del lado del servidor, incluyendo envíos de códigos de verificación de Experience API y Account API (inicio de sesión, registro, restablecimiento de contraseña, MFA y vinculación de identificador), envíos de códigos de verificación de Management API, envío y reenvío de invitaciones de organización, y envíos de códigos de verificación de Account (/me).
  • Cuando se excede el límite: la solicitud es rechazada con HTTP 429 y el código de error request.message_rate_limited—diferente del limitador global del inquilino (request.rate_limited) y del bloqueo en tiempo de verificación (session.verification_blocked_too_many_attempts), para que puedas manejarlo específicamente en tu integración.

Monitorea los envíos limitados con un webhook​

Cuando un usuario final alcanza el límite por destinatario, Logto dispara el evento de webhook Message.RateLimited (evento de webhook), para que puedas alertar o responder ante abusos de envío.

  • Se dispara para: solo los caminos de envío de códigos de verificación de usuario final—Experience API y Account API. No se dispara para envíos de primera parte o iniciados por administrador (códigos de verificación de Management API, invitaciones de organización o /me).
  • Payload: el payload del webhook incluye la action (por ejemplo, VerificationCodeSend) y el recipient (la dirección de correo electrónico o número de teléfono).

Casos de uso comunes:

  • Enviar alertas de seguridad a tu equipo para su revisión.
  • Activar automatización anti-abuso para el destinatario afectado.

Navega a Consola > Webhooks para suscribirte, o crea el Webhook a través de la Management API. Para la estructura detallada del evento y la configuración, consulta Webhooks.

Entrega suprimida a destinatarios desconocidos​

Para evitar la enumeración de cuentas, cuando el registro mediante un identificador está deshabilitado, un código de verificación de inicio de sesión solicitado para una dirección de correo electrónico o número de teléfono que no pertenece a ninguna cuenta no se entrega silenciosamente, y la API responde igual que lo haría para un envío real. Por lo tanto, un atacante no puede usar estas respuestas para saber qué direcciones están registradas. La entrega a usuarios existentes no se ve afectada. Consulta también Ocultar existencia de cuenta.