Nous avons déjà rencontré cette erreur, je viens de faire une recherche dans notre système de tickets.
Cela se produit lorsque vous avez :
require activationdéfini surtrue- un utilisateur U1 sur Discourse avec une adresse e-mail spécifique, potentiellement avec un ID externe A.
- un utilisateur U2 du côté du fournisseur DiscourseConnect avec la même adresse e-mail et un ID externe différent (B)
L’utilisateur se connecte, Discourse vérifie s’il existe un utilisateur avec l’ID externe B, il n’existe pas.
Normalement, Discourse effectuera une correspondance par e-mail comme prochaine étape, mais comme require activation est défini, l’adresse e-mail n’est pas fiable et il saute cette étape et n’associera pas l’utilisateur U1 car cela permettrait un détournement de compte.
Donc, Discourse décide de créer un nouvel utilisateur. Cela échoue car l’utilisateur U1 existe déjà avec cette adresse e-mail.
Il serait bon qu’il y ait une meilleure erreur si l’e-mail existe mais n’est pas fiable. Je ne suis pas non plus sûr de la raison pour laquelle une erreur Rails générique s’affiche.
Résolutions :
- si vos adresses e-mail du côté du fournisseur DiscourseConnect sont vérifiées et peuvent être fiables, définissez
require activationsurfalse.
ou - changez l’ID externe de l’utilisateur U1 en B
ou - changez l’adresse e-mail de l’utilisateur U1 pour autre chose
Ajout du texte « le changement que vous vouliez a été rejeté » afin que ce sujet soit trouvé lorsque quelqu’un recherche cette erreur.