Error de inicio de sesión

Ya hemos visto este error antes, acabo de hacer una búsqueda en nuestro sistema de tickets.

Esto ocurre cuando tienes:

  • require activation establecido en true
  • Un usuario U1 en Discourse con una dirección de correo electrónico específica, posiblemente con un ID externo A.
  • Un usuario U2 en el lado del proveedor de DiscourseConnect con la misma dirección de correo electrónico y un ID externo diferente (B).

El usuario inicia sesión, Discourse comprueba si existe un usuario con el ID externo B, no existe.
Normalmente, Discourse realizará una coincidencia por correo electrónico como siguiente paso, pero dado que require activation está establecido, la dirección de correo electrónico no es confiable y omite este paso y no se asociará con el usuario U1 porque permitiría el secuestro de cuentas.
Entonces, Discourse decide crear un nuevo usuario. Eso falla porque el usuario U1 ya existe con esa dirección de correo electrónico.

Sería bueno que hubiera un mejor error en caso de que el correo electrónico exista pero no sea confiable. Tampoco estoy seguro de por qué muestra un error genérico de Rails.

Resoluciones:

  • Si tus direcciones de correo electrónico en el lado del proveedor de DiscourseConnect están verificadas y se puede confiar en ellas, establece require activation en false.
    o
  • Cambia el ID externo del usuario U1 a B.
    o
  • Cambia la dirección de correo electrónico del usuario U1 a otra cosa.

Añadiendo el texto “el cambio que querías fue rechazado” para que este tema sea encontrado cuando alguien busque este error.

7 Me gusta