El objetivo pide un segundo factor
Dos maneras de superar una petición de doble autenticación según de dónde venga el código, por qué se rechaza un código escrito en el escenario, y el caso que ninguna cubre: la activación.
La situación. El inicio de sesión funciona y luego el objetivo pide un código de seis cifras. De dónde viene ese código decide el camino.
El código se genera a partir de una semilla que usted tiene
TOTP estándar, el que genera una aplicación de autenticación. Si la semilla en
base32 está guardada en el archivo de credenciales bajo totp_cle, Dinoer
calcula él mismo el código vigente:
{"type": "remplir", "selecteur": "input[name=\"otp\"]",
"valeur": "depuis_secrets_totp"}
Nadie tiene que escribir nada ni vigilar el reloj. La semilla se queda en el directorio cifrado, y el código lo calcula Dinoer, no la página.
Use este camino siempre que sea posible.
El código se le envía a usted
Por SMS, por correo, en una aplicación: Dinoer no puede generarlo.
attendre_mfa_ntfy publica un aviso de espera en su topic de ntfy (la clave
ntfy_topic del archivo de credenciales), espera a que usted envíe allí el
código y después lo escribe en el campo. No envía el formulario: añada el clic
que sigue.
[
{"type": "cliquer", "selecteur": "#send-code"},
{"type": "attendre_mfa_ntfy", "selecteur": "input[name=\"otp\"]", "timeout": 120},
{"type": "cliquer", "selecteur": "#confirm"}
]
timeout es la espera en segundos, 120 por defecto. Solo un mensaje de 4 a 8
cifras se toma como código; cualquier otro mensaje en el topic se ignora.
Un código escrito en el escenario se rechaza
{"type": "remplir", "selecteur": "input[name=\"otp\"]", "valeur": "123456"}
Dinoer rechaza este escenario antes de arrancar el navegador: un selector que
contiene otp, totp, mfa o 2fa se trata como un campo sensible, y su
valor tiene que venir de depuis_secrets o de depuis_secrets_totp. Si una
persona tiene que leer el código, el camino anterior es el adecuado: esa
persona lo envía al topic.
El caso que ninguno cubre
La activación: el primer código de todos, en el momento en que se crea la semilla.
Cuando activa la doble autenticación, el servidor genera la semilla y la
muestra una sola vez. En ese momento no existe en ningún otro sitio: ni en
su archivo de credenciales, ni en un topic. depuis_secrets_totp no tiene
nada que leer.
Dinoer no tiene ninguna acción para este paso. Haga la activación a mano,
guarde la semilla bajo totp_cle en el archivo de credenciales y deje que
Dinoer la use a partir de entonces.
Si calcula un código dentro de la página
La API crypto.subtle del navegador solo existe en un contexto seguro, HTTPS
o localhost. En un objetivo con HTTP simple no está definida, y un script
que dependa de ella falla con Cannot read properties of undefined.
depuis_secrets_totp no depende de ella, porque Dinoer calcula el código
fuera de la página.
En resumen
- Semilla en el archivo de credenciales:
depuis_secrets_totp. Es lo preferible. - Código que se le envía:
attendre_mfa_ntfyy después un clic para enviar. - Un código escrito en el escenario se rechaza en un campo que parece pedir uno.
- La activación se hace a mano, una vez; guarde la semilla después.