2016-09-02 2 views
0

ich eine neue App mache die mehrere soziale Anmeldung neben der regulären E-Mail/Passwort Registrierung benötigen würde, aber es ist ein besonderer Fall, dass Probleme mit der Datenintegrität verursachen könnte ...soziale Login doppelte Konten Konflikt


Beispiel:

  1. Ein Benutzer meldet sich mit Facebook, aber keine E-Mail zurückgegeben wurde.
  2. Ich erstelle in der db einen Benutzer mit E-Mail und Passwort auf Null gesetzt, und einen sozialen Profileintrag mit seiner ID, Token und Provider-Name.
  3. dann meldet sich der Benutzer das nächste Mal mit E-Mail und Passwort, also erstelle ich einen neuen Datensatz in der Benutzertabelle für ihn.

Und jetzt hat er 2 Einträge für die gleiche Person.

Wie soll ich mit diesem Fall umgehen?

Antwort

0

E-Mail ist der einzige Weg, um den Benutzer zu identifizieren, also der einfachste Weg, damit umzugehen, würde den Benutzer zwingen, seine E-Mail zu senden, wenn es nicht in der Antwort von Facebook zurückgegeben wurde. Sie können diesen Benutzer einfach überprüfen und umleiten (auf eine andere Ansicht/Seite), um seine E-Mail-Adresse einzugeben, oder den Benutzer sogar bitten, zusätzliche optionale Felder hinzuzufügen. Hope this

1

normaly hilft, wenn E-Mail-null ist, dass, da der Benutzer der Verwendung etwas andere Facebook-Login ist (wie Telefonnummer)

Wenn die Eigenschaft E-Mail null ist, Sie zu einer Fehlermeldung Rückfall, oder eine FacebookId eingestellt mit der public_profile-ID und bitten Sie den Nutzer, eine E-Mail-Adresse in Ihre App einzugeben.

Verwenden Sie keine E-Mail als Primärschlüssel;) und vergessen Sie nicht, haben ein internes Login/Passwort für alle Benutzer. Facebook Twitter ist nur eine andere Möglichkeit, sich anzumelden, aber nicht der Hauptmechanismus.

Verwandte Themen