2017-08-16 5 views
0

Ich möchte verstehen, wie man Auth von Google oder Facebook mit meiner Datenbank integriert. Ich habe ein Login-System mit E-Mail und Passwort, Benutzer-Tabelle und Nachrichten-Tabelle für das repräsentieren Nachrichten von Benutzern.Wie kann ich mich mit Google oder Facebook in meine Datenbank einloggen?

Wenn sich jemand registriert, wird ein neuer Benutzer mit Benutzer-ID erstellt. Wenn sich ein Benutzer mit E-Mail und Passwort am System anmeldet, erhält er ein Authentifizierungs-Token, , und für jede Aktion, die der Benutzer macht, wie POST oder GET Anfragen zum Abrufen oder Erstellen einer neuen Nachricht, sendet er das Token, das er bekommen hat die Benutzer-ID durch dieses Token und findet dann seine eigenen Nachrichten.

Jetzt möchte ich Google und Facebook Login hinzufügen, wie soll ich es jetzt tun? Ich kann von jedem von ihnen ein Token bekommen. aber der Benutzer ist nicht wirklich in meiner Benutzertabelle vorhanden, also wenn ich den Benutzer nach seinem Token suche, bekomme ich nichts, weil er nicht in der Benutzertabelle existiert, und wenn ich ihn in diese Tabelle einfügen möchte Ich muss das Passwortfeld dort eingeben, aber ich kann es nicht von Google bekommen.

Was sollte der Ansatz sein, um so etwas zu tun? Danke.

Antwort

0

Wenn sie sich zum ersten Mal anmelden, können Sie ihre E-Mail von Facebook oder Google anfordern, der Benutzer wird Ihrer Anwendung Zugriff gewähren, um ihre E-Mail-Adresse zu sehen. An dieser Stelle könnten Sie einen neuen Benutzer mit dieser E-Mail erstellen und eine Markierung hinzufügen, um zu sagen, dass sie von facebook/google kam. Der Rest funktioniert wie gewohnt, sie erhalten einen Token von Ihrer Anwendung und so weiter. Falls sie zurückkommen und sich erneut anmelden, müssen Sie sie nicht registrieren, da sie bereits in Ihrer Datenbank sind.

Wenn Sie zusätzliche Informationen von ihnen benötigen, (mehr als nur die Informationen, die Sie von facebook/google anfordern können), könnten Sie sie zu einem speziellen Formular für ihre erste Anmeldung umleiten.

+0

Also sollte ich den registrierten Benutzer von Google zu meiner Benutzer-Tabelle hinzufügen? ohne das Passwortfeld hinzufügen? Mein Passwortfeld ist für die einfache Anmeldung erforderlich – zb22

+0

das ist richtig, wenn Sie sie ohne Passwort hinzufügen, können sie nicht auf die normale Weise anmelden und müssen immer über google anmelden, deshalb gibt es eine Flagge oder etwas, um anzuzeigen, dass sie google verwendet haben login – DarkMukke

+0

aber ich denke, dass ich einen Datensatz in meine Benutzertabelle nicht einfügen kann, wenn ein erforderliches Feld (wie Passwort) leer ist. Ich möchte immer noch, dass das Feld für die einfache Anmeldung benötigt wird. was sollte ich dann tun? – zb22

Verwandte Themen