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 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 del 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 a través de 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 deslizante. 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
429y el código de errorrequest.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 abuso de envíos.
- Se dispara para: solo los caminos de envío de códigos de verificación para usuarios finales—Experience API y Account API. No se dispara para envíos iniciados por primera parte o administrador (códigos de verificación de Management API, invitaciones de organización o
/me). - Payload: el contexto del hook incluye la
action(por ejemplo,VerificationCodeSend) y elrecipient(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.
- Disparar automatizaciones anti-abuso para el destinatario afectado.
Navega a Consola > Webhooks para suscribirte, o crea el hook 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 prevenir 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.