/ / python social auth doppelter eintrag - django, python-social-auth

Python Social Auth Duplikateintrag - django, python-social-auth

Ich verwende Python-Social-Auth mit Django. Ich möchte über Facebook autorisieren, aber vorher habe ich mich bereits als Standard angemeldet (E-Mail, Passwort) mit E-Mail, die Facebook verwendet. Kann ich ein Facebook-Konto mit einem registrierten Konto verknüpfen? Ich habe versucht zu suchen, aber nichts

Antworten:

6 für die Antwort № 1

Prüfen Verknüpfen Sie Benutzer per E-Mail, das sollte erklären, wie es geht.

Verknüpfen Sie Benutzer per E-Mail

Manchmal ist es wünschenswert, dass soziale Konten automatisch zugeordnet werden, wenn die E-Mail bereits mit einem Benutzerkonto übereinstimmt.

Zum Beispiel, wenn sich ein Benutzer bei seinem angemeldet hatFacebook-Konto, dann abgemeldet und beim nächsten Mal versucht, Google OAuth2 für die Anmeldung zu verwenden. Es könnte nett sein (wenn beide soziale Websites dieselbe E-Mail-Adresse konfiguriert haben), dass der Benutzer in sein ursprüngliches, vom Facebook-Backend erstelltes Konto gelangt.

Dieses Szenario ist möglich, wenn die Pipeline-Funktion "associate_by_email" wie folgt aktiviert wird:

SOCIAL_AUTH_PIPELINE = (
"social_core.pipeline.social_auth.social_details",
"social_core.pipeline.social_auth.social_uid",
"social_core.pipeline.social_auth.auth_allowed",
"social_core.pipeline.social_auth.social_user",
"social_core.pipeline.user.get_username",
"social_core.pipeline.social_auth.associate_by_email",  # <--- enable this one
"social_core.pipeline.user.create_user",
"social_core.pipeline.social_auth.associate_user",
"social_core.pipeline.social_auth.load_extra_data",
"social_core.pipeline.user.user_details",
)

Diese Funktion ist standardmäßig deaktiviert, danicht 100% sicher, diesen Prozess mit allen Backends zu automatisieren. Nicht alle Anbieter werden Ihr E-Mail-Konto validieren, und andere Benutzer könnten davon profitieren.

Nehmen Sie zum Beispiel Benutzer A, der auf Ihrer Site registriert istmit der E-Mail foo@bar.com. Dann registriert sich ein böswilliger Benutzer bei einem anderen Anbieter, der seine E-Mail-Adresse nicht mit demselben Konto überprüft. Schließlich wendet sich dieser Benutzer an Ihre Website (die diesen Anbieter unterstützt) und meldet sich an. Da die E-Mail-Adresse identisch ist, übernimmt der böswillige Benutzer die Kontrolle über das Konto von Benutzer A.

BEARBEITEN: Verknüpfen Sie fixierte und kopierte Dokumentendetails in diese Antwort.