Dinoer

El sistema solicita un segundo factor de autenticación

Tres formas de superar una solicitud de autenticación de dos factores (2FA), dependiendo de dónde provenga el código; y el caso único que ninguna de ellas cubre, que encontrarás el día en que te registres.

La situación. El inicio de sesión funciona, y luego el sistema solicita un código de seis dígitos. De dónde proviene ese código determina cuál de las tres opciones se presenta.

El código se genera a partir de una semilla que usted posee

TOTP estándar: el tipo de código que genera una aplicación de autenticación. Si ha guardado la semilla en base32 en el directorio cifrado bajo totp_cle, Dinoer genera el código actual automáticamente:

{"type": "remplir", "selecteur": "input[name=\"otp\"]",
 "valeur": "depuis_secrets_totp"}

No intervención humana, ni uso de portapapeles, nada que consuma tiempo. La semilla permanece en el directorio cifrado y el código se calcula dentro del proceso del navegador, como cualquier otra credencial.

Esta es la ruta que se debe preferir siempre que esté disponible.

El código llega por SMS o correo electrónico

No puede generarlo — se le envía. attendre_mfa_ntfy espera a que el código sea enviado a través de un canal de notificación, rellena el campo y lo envía:

[
  {"type": "cliquer", "selecteur": "#send-code"},
  {"type": "attendre_mfa_ntfy", "selecteur": "input[name=\"otp\"]", "timeout": 120}
]

selecteur es la entrada del código OTP; timeout es el tiempo de espera en segundos, por defecto 120. Esta ruta necesita que la integración de notificaciones esté configurada previamente; no lee el directorio porque el código no existe hasta que se envía.

Ninguna de las anteriores aplica — un humano lo escribe

[
  {"type": "remplir", "selecteur": "input[name=\"otp\"]", "valeur": "123456"},
  {"type": "cliquer", "selecteur": "#confirm"}
]

Solución de respaldo honesta: alguien lee el código y edita el escenario antes de ejecutarlo. Funciona, pero no es escalable; vale la pena saber que existe, pero no vale la pena construir sobre ella.

El caso en el que ninguno de estos se aplica

Inscripción. El primer código, en el momento en que se crea la clave.

Cuando usted activa 2FA, el servidor genera la semilla y la muestra una sola vez. En ese instante no existe en ningún otro lugar — ni en su directorio cifrado, ni en una notificación. depuis_secrets_totp no tiene nada que leer, y attendre_mfa_ntfy no tiene nada que esperar.

No hay herramientas para esto. Lo que funciona es realizar todo el proceso de registro en un solo escenario: leer la semilla de la página, calcular el primer código, enviarlo y, solo entonces, guardar la semilla, de modo que nada tenga que persistir entre dos llamadas. Es posible, se ha hecho, y es genuinamente engorroso.

Se indica aquí en lugar de descubrirse durante la inscripción, con una página que no le permitirá retroceder.

Una trampa que vale la pena conocer

Calcular un TOTP usted mismo dentro de evaluer requiere la API criptográfica del navegador, que solo existe en un contexto seguro: HTTPS o localhost. En un destino HTTP simple, simplemente no está presente, y obtendrá Cannot read properties of undefined en lugar de un mensaje útil.

Si está en HTTP por elección — una máquina de prueba, un dispositivo local — esa ruta está cerrada. Utilice el directorio cifrado.

En resumen

  • Sembrar en el directorio cifrado → depuis_secrets_totp. Prefiera esto.
  • Código enviado a usted → attendre_mfa_ntfy con su propio selector de campo.
  • Ninguno → un humano lo escribe, y eso está bien para una sola vez.
  • El registro es un problema separado: un escenario, sin persistencia entre llamadas.
  • No se utiliza criptografía del navegador en un destino HTTP simple.