Recientemente comencé a exigir la autenticación de dos factores (MFA) para todos los usuarios de mi foro y me informaron que muchos usuarios no podrían ver el hilo que ofrece consejos sobre cómo usar MFA (muchos usuarios no son técnicos).
Aunque el artículo es accesible para usuarios anónimos, si un usuario ha iniciado sesión pero no está registrado en MFA, no puede ver nada del sitio. Se quedan atrapados en las preferencias de seguridad del usuario con esto:
Aunque personalmente espero que un usuario pueda manejar esto, he aconsejado a usuarios que no usan aplicaciones de autenticación y a usuarios paranoicos de la privacidad sobre cómo usar MFA de una “manera más privada”.
Ahórrame las lecciones, lo sé.
Sería genial si pudiera incluir información en el mensaje de aplicación que ayudara más a los usuarios, como recomendar un gestor de contraseñas o una aplicación de autenticación, o aconsejar a los usuarios que aseguren que la hora de su dispositivo con el autenticador sea precisa. De lo contrario, muchos usuarios que, admitámoslo, son ignorantes, tendrán una mala experiencia y pelearán conmigo más de lo que ya lo hacen.
Por cierto, las claves de acceso (passkeys) son MFA, eso debería resolverse.
Editar el texto del sitio como se mencionó anteriormente es la forma más sencilla de proporcionar algunas instrucciones, pero en ese contexto solo puedes usar texto.
Si deseas agregar algo de HTML (enlaces, imágenes, etc.), puedes crear un nuevo componente de tema desde el área de administración de temas y componentes.
Desde la pestaña de componentes (admin/config/customize/components), haz clic en “instalar”, luego en “crear nuevo”, asígnale un nombre obvio… y una vez creado tu componente, haz clic en “editar código”.
Desde allí, ve a la pestaña JS y puedes agregar algo como esto:
import { apiInitializer } from "discourse/lib/api";
const CustomMessage = <template>
<div class="custom-2fa-message">
Tu contenido personalizado aquí, encima del contenido existente.
<a href="#">Enlace de ejemplo</a>
</div>
</template>;
export default apiInitializer("1.0", (api) => {
api.renderBeforeWrapperOutlet("user-second-factor-wrapper", CustomMessage);
});
Desde el Departamento de lo que no se pidió, tal vez podrían dar a las personas una semana o un mes para activar la autenticación de dos factores y recordarles insistentemente hasta que lo logren. Sí, current_user tiene un atributo second_factor_enabled, así que podrían mostrar un gran cartel que diga “EL FIN ESTÁ CERCA” para quienes aún no lo han conseguido, junto con un enlace a las instrucciones.