No se puede usar U2F registrado si el nombre de host ha cambiado

Nota: este es un comportamiento deseable desde el punto de vista de la seguridad, pero podemos mejorar la experiencia de usuario si esto ocurre con un usuario

Si un usuario ha registrado un token U2F, no funcionará si el nombre de host del sitio ha cambiado desde que se registró.

Sin embargo, no se proporciona ninguna retroalimentación al usuario sobre que esto podría deberse a un cambio en el nombre de host, ya que no almacenamos esa información en Discourse. Y si el usuario no entiende por qué podría ser así, se confundirá.

Una mejora para este caso podría ser en esta pantalla:

  • Desactivar “Autenticar con clave de seguridad”
  • Mostrar un mensaje como: “Tenemos una clave de seguridad registrada para esta cuenta, pero no corresponde al nombre de host al que está solicitando (www.example.com)”

Consideración:

  • Si hacemos lo anterior, debemos asegurarnos de no volver a mapear el nombre de host antiguo al nuevo en la tabla UserSecurityKey.
6 Me gusta

Sí, tenemos que añadir algo de texto aquí, @sam, para cubrir el caso del cambio de nombre de dominio. Creo que es principalmente una actualización de contenido, como un descargo de responsabilidad al final o algo así.

1 me gusta

Esto podría ser un poco complicado, ya que creo que el nombre de host se almacena dentro de la clave pública en la tabla de claves de seguridad (ha pasado un tiempo desde que trabajé en esto, así que podría estar equivocado). Se requerirá un poco de ajuste para plantear este problema en la interfaz de usuario, deshabilitar el botón y mostrar el mensaje. Además, esto solo se mostraría si todas las claves de seguridad registradas tienen un nombre de host incorrecto; si una coincide, el usuario estará bien.

Relacionado con esto, también debo arreglar 2fa security key breaks when migrating to custom domain - #6 by balboah. Me asignaré este tema también, porque creo que cuando cambiamos los nombres de host, probablemente debamos simplemente deshabilitar todas las claves de seguridad existentes, ya que se vuelven efectivamente inútiles.

1 me gusta

A menudo restauro una base de datos desde un entorno de producción a un sitio de staging con un nombre de host diferente. Sería genial si pudiera, por ejemplo, deshabilitar todas las claves inválidas y exigir a los administradores que las restablezcan (aunque un usuario responsable tendrá claves de respaldo configuradas, por lo que realmente no ayudaría mucho. :sadpanda:).

1 me gusta