/ / Social auth django: Mehrere Benutzer stehen in Konflikt mit derselben E-Mail-ID - django, django-socialauth

Social auth django: Mehrere Benutzerkonflikte mit derselben E-Mail-ID - django, django-socialauth

Ich benutze django social auth für das soziale Login. Wenn sich ein Benutzer mit der Google Mail-ID anmeldet, werden bei seinem nächsten Besuchs-Logins über die soziale Anmeldung von Google Mail zwei Benutzer für denselben Benutzer mit einem anderen Benutzernamen und derselben E-Mail-ID erstellt. Wenn der Benutzer nun versucht, sich mit dieser Google Mail-ID anzumelden, wird der Fehler MultipleObjectsReturned ausgelöst.

Gibt es eine Möglichkeit, die E-Mail-ID eines Benutzers bei der Protokollierung zu überprüfen, falls diese bereits vorhanden ist, verknüpfen Sie sie mit diesem Benutzer.

Antworten:

3 für die Antwort № 1

Möglicherweise müssen Sie zeigen, welche PIPELINE Sie in Ihrem Computer bereitstellen settings.py Datei.

Aber die Antwort ist:

In Einstellungen wie einfügen "social_auth.backends.pipeline.associate.associate_by_email",


0 für die Antwort № 2

In settings.py hinzufügen:

SOCIAL_AUTH_PIPELINE = (

"social.pipeline.social_auth.social_details",
"social.pipeline.social_auth.social_uid",
"social.pipeline.social_auth.auth_allowed",
"social.pipeline.social_auth.social_details",
"social.pipeline.social_auth.social_user",
"social.pipeline.user.get_username",
"social.pipeline.social_auth.associate_by_email",
"social.pipeline.user.create_user",
"social.pipeline.social_auth.associate_user",
"social.pipeline.social_auth.load_extra_data",
"social.pipeline.user.user_details",

)