ForHosting KIT · Utilidades de desarrollo

Generar un código 2FA

El código de seis dígitos que su aplicación de autenticación renueva cada 30 segundos no es magia, es matemática: un secreto compartido y la hora actual, combinados mediante un hash. Esta API realiza ese mismo cálculo del lado del servidor, permitiéndole generar un código válido para un secreto o verificar uno que un usuario acaba de escribir, sin tener que incrustar la lógica de TOTP en cada servicio que necesite doble factor.

● EstableGratis · en su navegador
Úselo desde WebAPIEmailApp prontoTelegram pronto

Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.

El problema que resuelve

La autenticación de dos factores basada en códigos temporales necesita el mismo cálculo hecho en al menos dos lugares: una vez dentro de la app autenticadora del usuario, y otra en su servidor para comprobar lo que escribió. Reimplementar esa lógica correctamente, en especial la tolerancia de ventana de tiempo por el desfase del reloj entre un teléfono y un servidor, es fácil de equivocar de forma sutil, y una implementación de TOTP sutilmente equivocada termina bloqueando a usuarios legítimos o, peor, aceptando códigos que no debería. Centralizar el cálculo elimina por completo esa clase de error.

Qué ocurre realmente en cada llamada

Envíe POST /dev/totp con un secreto en base32 y, según la operación, ya sea una solicitud para generar el código válido actual o un código para verificar contra ese secreto. La API ejecuta la tarea de forma asíncrona, devuelve un task_id de inmediato, y entrega el código generado o el veredicto de verificación por webhook firmado o por un enlace firmado válido durante 24 horas, junto con la ventana de tiempo contra la que se evaluó.

De dónde viene TOTP

Time-based One-Time Password se estandarizó en el RFC 6238 en 2011, construyendo directamente sobre el estándar anterior basado en contador, HOTP, del RFC 4226. Cambiar un contador incremental por la hora Unix actual, dividida en pasos de 30 segundos, resolvió el mayor problema práctico de HOTP: los contadores se desincronizan cuando se genera un código pero nunca se usa, mientras que el tiempo se resincroniza solo en cada intervalo. Por eso prácticamente cualquier app autenticadora en la que haya escaneado un código QR habla TOTP, no HOTP.

Cómo encaja en un flujo de autenticación real

Este endpoint se llama desde flujos de inicio de sesión en el backend que validan el código de seis dígitos que un usuario ingresa después de su contraseña, desde flujos de configuración de cuenta que generan un código de prueba para confirmar que el usuario escaneó bien su código QR antes de activar el 2FA, desde herramientas de soporte que necesitan verificar un código durante una llamada de recuperación de cuenta, y desde suites de pruebas automatizadas que necesitan un código válido para iniciar sesión como cuenta de prueba sin que haya una persona presente para escribirlo.

Qué le dice la respuesta

La verificación devuelve un booleano claro más el paso de tiempo contra el que coincidió, ya que un pequeño margen de desfase es normal y esperado. La generación devuelve el código actual y su validez restante en segundos. Los secretos malformados se rechazan de inmediato con un error específico, y como las tareas fallidas nunca se cobran, puede validar el formato de su secreto con confianza antes de conectarlo a un flujo de login en producción.

Verificación de 2FA en el login

Compruebe el código de seis dígitos que un usuario ingresa después de su contraseña contra su secreto TOTP guardado antes de otorgar acceso.

Confirmación al activar el 2FA

Genere el código actual de un secreto recién creado para confirmar que el usuario escaneó correctamente su código QR de autenticador.

Flujos de soporte para recuperación de cuenta

Verifique un código que un cliente lee por teléfono durante una llamada de soporte contra el secreto de su cuenta en un proceso de recuperación.

Pruebas de login automatizadas

Genere un código válido bajo demanda para que las suites de CI puedan iniciar sesión como cuenta de prueba protegida con 2FA sin intervención manual.

¿Qué es un código TOTP y cómo lo genera esta API?

Es un código de seis dígitos derivado de un secreto compartido y la hora actual; POST /dev/totp lo calcula igual que cualquier app autenticadora.

¿Puede verificar un código que escribió mi usuario?

Sí, envíe el código y el secreto, y la API responde si coincide dentro de la ventana de tiempo aceptada.

¿Es gratuita la API TOTP?

La herramienta de arriba es gratis en su navegador. La API es de pago: cada llamada se descuenta de su saldo prepago de ForHosting KIT — se recarga desde $10.00 (no caduca), se paga el precio publicado de cada solicitud, y una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens, y una tarea fallida no se cobra.

¿Cuánto cuesta generar o verificar un código?

$0.002 por solicitud para cualquiera de las dos operaciones, y una tarea fallida, como un secreto malformado, nunca se cobra.

¿Funciona con Google Authenticator y apps similares?

Sí, sigue el estándar RFC 6238 que implementan prácticamente todas las apps autenticadoras de TOTP, así que los códigos coinciden exactamente.

¿Cómo se maneja el desfase del reloj?

La API revisa una pequeña ventana de pasos de tiempo adyacentes, la misma tolerancia que usan las apps autenticadoras reales, para que pequeñas diferencias de reloj no rechacen códigos válidos.

¿Guardan los secretos que envío?

No, los secretos se usan solo para procesar esa solicitud puntual y se eliminan después del período de retención, nunca se usan para entrenar modelos.

¿Puedo usarla para pruebas de 2FA en lote?

Sí, envíe tantas solicitudes independientes de generación o verificación como necesite; cada una se procesa y se cobra por separado.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev/totp

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.

curl -X POST https://api.kit.forhosting.com/dev/totp \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":["valor-1","valor-2"]}'
{
  "items": [
    "valor-1",
    "valor-2"
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.totp",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →