Permitir que los visitantes activen el inicio de sesión en dos pasos
Objetivo
Permitir que alguien que inicia sesión en su portal active el inicio de sesión en dos pasos: una aplicación de autenticación en su teléfono a la que se le pide un código de seis dígitos cada vez que inicia sesión.
Antes de empezar
- Un portal que pide a los visitantes que inicien sesión. Consulte Pedir a los visitantes que inicien sesión.
Todo se reduce a un botón
Dibuje un botón en cualquier pantalla de su portal y asígnele este controlador:
openAccountSecurity();
Eso es todo. La plataforma abre su propio panel sobre su página, y el visitante escanea un código, escribe seis dígitos y guarda sus códigos de recuperación sin que usted tenga que dibujar nada de ello.
O dibújelo usted
Si prefiere que la página se parezca al resto de su sitio, dibuje una pantalla propia (detrás del inicio de sesión, puesto que trata sobre la cuenta del visitante) y dele estas llamadas, en este orden:
| Cuándo | Llamada |
|---|---|
| Se carga la pantalla | loadAccountSecurity("mfa"); state.mfa.enabled indica si está activado |
| Se pulsa Activarlo | startAuthenticator("enrol") |
| Se pulsa Comprobar el código | verifyAuthenticator(getState("code"), "codes") |
| Se pulsa Ya los he guardado | completeAuthenticator("done") |
| Se pulsa Desactivarlo | disableAuthenticator(getState("offCode")) |
- El código QR es
state.enrol.qrCode: agregue una imagen y enlace su origen a él. Pongastate.enrol.sharedKeyal lado para quien tenga una cámara que no lea el código. - Los códigos de recuperación llegan a
state.codescomo una lista; repita una línea sobre ella que muestrerow.code. - El inicio de sesión en dos pasos no está activado hasta
completeAuthenticator. Comprobar el código solo demuestra que la aplicación funciona. Así que dibuje los códigos con una frase que indique al visitante que los guarde ahora (no se volverán a mostrar) y un botón para confirmar que lo ha hecho. Si su página olvidara ese paso, el factor simplemente seguiría desactivado en lugar de activarse con unos códigos que nadie vio.
El código QR se dibuja en el propio navegador del visitante; nunca se envía a ningún sitio para convertirlo en una imagen, porque contiene el secreto que usará su aplicación.
El ejemplo portal-landing-page incluye esto como su pantalla Sign-in security.
Qué ve el visitante
El panel indica cómo está configurada su cuenta y ofrece la única opción disponible:
| Su cuenta | Qué ofrece el panel |
|---|---|
| Inicio de sesión en dos pasos desactivado | Activar el inicio de sesión en dos pasos: escanear, demostrar, guardar los códigos |
| Inicio de sesión en dos pasos activado | Cuántos códigos de recuperación quedan, y un cuadro para desactivarlo con un código actual |
El orden es escanear → demostrar → anotar los códigos, y el factor no se activa hasta que se ha confirmado que se han guardado. Quien cierra la pestaña a mitad no ha cambiado nada de su cuenta, que es precisamente la razón de hacerlo en tres pasos en lugar de en uno.
Desactivarlo requiere un código
Un visitante puede desactivar su propio inicio de sesión en dos pasos (es su cuenta), pero solo escribiendo un código actual o uno de sus códigos de recuperación. Es deliberado: desactivar un segundo factor es exactamente lo que haría alguien que hubiera robado una sesión.
Quienes inician sesión en el Shell de Parsware y en el Centro de control de administración deben tener un segundo factor, y en su lugar se les ofrece una manera de trasladarlo a un teléfono nuevo. Es una decisión sobre la superficie que contiene los registros de todos los clientes; no es una que tomemos en nombre de sus clientes.
Qué ocurre en el siguiente inicio de sesión
Nada que tenga que dibujar. El formulario de inicio de sesión de la plataforma pide el código él mismo, junto a la dirección y la contraseña, y acepta un código de recuperación en el mismo cuadro: un código de recuperación no tiene seis dígitos, así que la plataforma sabe cuál de los dos recibe.
Si dibujó su propia página de inicio de sesión, necesita un
cuadro de código que aparezca cuando signIn indique que la cuenta lo requiere; esa página explica
cómo.
Lo que esto no hace
- No traslada una aplicación de autenticación a un teléfono nuevo en un solo paso. Un visitante que ya no tiene su teléfono desactiva el factor con un código de recuperación y lo vuelve a activar, lo que supone un paso más y no pierde nada.
- No obliga a nadie. El inicio de sesión en dos pasos se ofrece a sus visitantes y nunca se les exige. Si su portal necesita exigirlo, es algo que hay que hablar con nosotros, no una pantalla que dibujar.
- No hace nada en un portal que cualquiera puede abrir. No hay ninguna cuenta a la que pueda pertenecer un segundo factor, así que el botón lo indica en lugar de aparentar que funciona.
Pruébelo
La solución de ejemplo portal-sign-in-and-accounts incluye esto en
una pantalla llamada Sign-in security, con una página How this sample works que lo recorre paso
a paso.