ID de Discourse y 2FA

La forma estándar de hacerlo es mediante OIDC. Discourse ID está construido actualmente solo con OAuth2. Para admitir un indicador de MFA, necesitaríamos implementar OIDC en la capa del proveedor y transmitir los valores de MFA de ida y vuelta para los clientes que lo requieran.

Hay varias complicaciones:

  • En el núcleo de Discourse, tenemos la opción de exigir 2FA solo para ciertos tipos de usuarios (personal o todos); probablemente necesitemos algo similar que se admita a través de ID.
  • ID permite iniciar sesión mediante Google/Apple/Facebook/Github, pero no indican de manera fiable si el usuario completó el 2FA al iniciar sesión… es posible que necesitemos implementar 2FA en la capa de ID y, probablemente, exigir 2FA doble a algunos usuarios, lo cual no es ideal.
  • ¿Es el 2FA en la capa del proveedor de identidad (es decir, no en la instancia local) suficiente para todos los consumidores? En términos generales, creo que sí, pero necesitaríamos realizar un poco más de investigación antes de comprometernos con ello.