Configurar DiscourseConnect: el sistema oficial de inicio de sesión único (SSO) para Discourse

El peor escenario que conozco requiere estas condiciones:

  • las direcciones de correo electrónico no están verificadas en el sitio externo
  • require_activation=true no está configurado en la carga útil de SSO
  • existen cuentas en el sitio de Discourse que no tienen un SingleSignOnRecord asociado con ellas (el propietario de la cuenta nunca ha iniciado sesión en Discourse con SSO)

En ese caso, alguien podría registrarse en el sitio externo utilizando la dirección de correo electrónico de un usuario de Discourse que nunca ha iniciado sesión con SSO. Esto permitiría que la cuenta no verificada del sitio externo se apodere de la cuenta de Discourse que utiliza la misma dirección de correo electrónico. Esto sería especialmente preocupante si se tratara de una cuenta de administrador en Discourse.

Sí se recomienda que Discourse maneje la verificación de correo electrónico si el sitio externo no lo hace:

Sin embargo, hay un par de razones por las que es mejor manejar la verificación de correo electrónico en el sitio externo:

  • obligar a los usuarios a recibir el correo electrónico de confirmación de Discourse añade algo de fricción cuando los usuarios intentan iniciar sesión en Discourse por primera vez. (En realidad, esa fricción tiene que ocurrir en algún lugar, ya sea en el lado de Discourse o en el lado del sitio externo).
  • Discourse no emparejará las cuentas de Discourse existentes con los inicios de sesión externos basándose en la dirección de correo electrónico si require_activation está configurado como true en la carga útil de SSO. Esto es un problema si habilitas DiscourseConnect después de que se hayan creado algunas cuentas en Discourse registrándose con nombre de usuario/contraseña. También es un problema si por alguna razón necesitas eliminar entradas de SingleSignOnRecord en Discourse. Discourse no creará automáticamente nuevas entradas de SingleSignOnRecord cuando los usuarios intenten volver a iniciar sesión en Discourse.
4 Me gusta