Tu código está correcto, pero el sitio dice que está equivocado
Abres tu aplicación autenticadora, lees el código de 6 dígitos, lo escribes cuidadosamente, y… “Código inválido.” Intentas de nuevo con el siguiente código. Lo mismo. Comienzas a preguntarte si configuraste algo mal, o si el servicio está roto.
Esto sucede más a menudo de lo que piensas, y casi siempre hay una explicación simple.
La causa más común: tu reloj está desfasado
Los códigos TOTP se calculan a partir de dos cosas: una clave secreta y la hora actual. Tu teléfono y el servidor necesitan ponerse de acuerdo sobre qué hora es. Si el reloj de tu teléfono está incluso 30 segundos desfasado, generarás un código para la ventana de tiempo incorrecta, y el servidor lo rechazará.
Esta es de lejos la razón más frecuente por la que los códigos TOTP no funcionan.
Cómo solucionarlo:
- En Android: Ve a Configuración > Sistema > Fecha y hora, y activa “Establecer hora automáticamente.” Si ya está activado, desactívalo y vuelve a activarlo. Algunos teléfonos se desfasan con el tiempo incluso con sincronización automática habilitada.
- En iPhone: Ve a Configuración > General > Fecha y hora y asegúrate de que “Ajustar automáticamente” esté activado. Si ya lo está y los códigos aún fallan, desactívalo, espera unos segundos, y vuelve a activarlo.
- Google Authenticator tiene una sincronización de tiempo integrada: ve a Configuración > Corrección de tiempo para códigos > Sincronizar ahora. Esto ajusta el desfase interno de la aplicación sin cambiar el reloj del sistema de tu teléfono.
Si estás viajando y configuraste manualmente tu teléfono a una zona horaria diferente, eso no debería afectar a TOTP (el algoritmo usa UTC), pero algunos dispositivos mal configurados pueden confundirse. Mantén la hora automática.
Estás escribiendo el código demasiado lentamente
Los códigos TOTP son válidos durante 30 segundos. Si lees el código de tu aplicación, cambias al navegador, encuentras el campo de entrada, y lo escribes, podrías cruzar el límite hacia la siguiente ventana de tiempo. El código que escribiste es ahora el código anterior.
La mayoría de los servidores aceptan códigos de las ventanas de tiempo adyacentes (una antes, una después) para compensar esto. Pero si estás justo en el límite, aún puedes ser rechazado.
Cómo solucionarlo: Espera a que aparezca un código fresco en tu aplicación autenticadora, luego escríbelo inmediatamente. No comiences a escribir un código que solo le queden 5 segundos en la cuenta regresiva.
Escanearon el código QR equivocado o ingresaron el secreto equivocado
Si el código nunca ha funcionado desde que lo configuraste, probablemente almacenaste la clave secreta equivocada. Esto puede suceder si:
- Escaneaste un código QR de una cuenta diferente
- Escribiste manualmente la clave secreta y cometiste un error tipográfico
- El proceso de configuración se interrumpió y la clave no se guardó correctamente
Cómo solucionarlo: Ve a la configuración de seguridad del servicio, deshabilita 2FA (podrías necesitar códigos de respaldo para esto), y configúralo de nuevo desde cero. Escanea el código QR cuidadosamente, y verifica ingresando un código antes de cerrar la página de configuración.
Estás mirando la cuenta equivocada
Si tienes varias cuentas en el mismo servicio (una personal y una de trabajo de Gmail, por ejemplo), tu aplicación autenticadora tiene entradas para ambas. Es fácil leer el código del equivocado, especialmente si las etiquetas son similares.
Cómo solucionarlo: Verifica la etiqueta en la entrada TOTP de tu aplicación. La mayoría de las aplicaciones autenticadoras muestran la dirección de correo electrónico o nombre de usuario asociado con cada entrada. Asegúrate de estar leyendo el código para la cuenta en la que realmente estás iniciando sesión.
El reloj del servidor está equivocado (raro, pero sucede)
A veces no es tu culpa. Si el reloj de un servicio tiene desfase, rechazará códigos válidos de todos. Esto es poco común con grandes proveedores pero puede suceder con servicios más pequeños, aplicaciones auto-hospedadas, o herramientas internas corporativas.
Cómo verificar: Prueba tu código en 2fa.zip. Ingresa la misma clave secreta y verifica si el código que genera coincide con tu aplicación autenticadora. Si coinciden, el problema está del lado del servidor, no tuyo. Necesitarás contactar al equipo de soporte del servicio.
El formato de la clave secreta está equivocado
Los secretos TOTP son cadenas codificadas en base32 (usando letras A-Z y dígitos 2-7). Si ingresaste manualmente un secreto e incluiste caracteres fuera de este rango, o si el servicio te dio una clave en un formato diferente, los códigos generados estarán equivocados.
Cómo solucionarlo: Verifica la clave secreta. Elimina espacios o guiones (esos son solo para legibilidad). Asegúrate de que no haya caracteres ambiguos (0 vs O, 1 vs l). En caso de duda, elimina la entrada y escanea el código QR en lugar de escribir la clave manualmente.
Lista de verificación rápida
Si tu código TOTP no funciona, repasa esto:
- ¿La hora de tu teléfono está configurada como automática? (Soluciona el 80% de los problemas)
- ¿Esperaste un código fresco antes de escribir?
- ¿Estás leyendo el código para la cuenta correcta?
- ¿Ha funcionado el código alguna vez, o falló desde el principio?
- ¿Puedes verificar tu código contra 2fa.zip?
Si has repasado todo esto y el código aún no funciona, el problema probablemente está del lado del servicio. Verifica su página de estado o contacta a soporte.
Para guías paso a paso sobre configurar 2FA correctamente desde el principio, consulta nuestras guías para Discord y GitHub.