Wir haben diesen Fehler bereits gesehen, ich habe gerade eine Suche in unserem Ticketsystem durchgeführt.
Dies tritt auf, wenn Sie Folgendes haben:
require activationauftruegesetzt ist- Ein Benutzer U1 in Discourse mit einer bestimmten E-Mail-Adresse, möglicherweise mit externer ID A.
- Ein Benutzer U2 auf der DiscourseConnect-Provider-Seite mit derselben E-Mail-Adresse und einer anderen externen ID (B)
Der Benutzer meldet sich an, Discourse prüft, ob ein Benutzer mit der externen ID B existiert, dieser existiert nicht.
Normalerweise führt Discourse als nächsten Schritt eine Übereinstimmung anhand der E-Mail-Adresse durch, aber da require activation gesetzt ist, wird die E-Mail-Adresse als nicht vertrauenswürdig eingestuft und dieser Schritt wird übersprungen und nicht mit Benutzer U1 verknüpft, da dies Account-Hijacking ermöglichen würde.
Daher beschließt Discourse, einen neuen Benutzer zu erstellen. Dies schlägt fehl, da Benutzer U1 bereits mit dieser E-Mail-Adresse existiert.
Es wäre gut, wenn es eine bessere Fehlermeldung gäbe, falls die E-Mail existiert, aber als nicht vertrauenswürdig eingestuft wird. Ich bin mir auch nicht sicher, warum eine generische Rails-Fehlermeldung angezeigt wird.
Lösungen:
- Wenn Ihre E-Mail-Adressen auf der DiscourseConnect-Provider-Seite verifiziert und vertrauenswürdig sind, setzen Sie
require activationauffalse.
oder - Ändern Sie die externe ID für Benutzer U1 auf B
oder - Ändern Sie die E-Mail-Adresse für Benutzer U1 in etwas anderes
Hinzufügen des Textes „Die gewünschte Änderung wurde abgelehnt“, damit dieses Thema gefunden wird, wenn jemand nach diesem Fehler sucht.