Der Umgang mit mehreren Login-Systeme (Facebook Connect, Google-Konto und andere)

stimmen
3

Wenn Sie möchten, dass Ihre Website-Benutzer ermöglichen zu können, loggen Sie sich mit Facebook Connect, Google-Konto, usw., wie gestalten Sie Ihre Datenbank, so dass sie alle integriert sind?

Veröffentlicht am 24/06/2009 um 00:46
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
2

Ich schlage vor, mit einer Tabelle Konten Ihren lokalen Kontodaten zu halten, die dann zu einem AthenticationMethods Tabelle oder Credentials Tabelle in Beziehung gesetzt werden würden, wo Sie die entsprechenden externe Authentifizierungsdaten halten würden. Auf diese Weise können Sie Ihre Website und alle seine Komplexität zu Konten und Ihr Login-Prozess zu schön abstrakt die verschiedenen Formen der Authentifizierung verwandt zu sein, die Sie unterstützen möchten vielleicht. Da jede Authentifizierungsmethode verschiedenen Ebenen der Komplexität kann ich schlage vor, an den verschiedenen APIs suchen und Querverweise sie alle gemeinsam Ähnlichkeiten zu finden. Wichtiger Sie, wo sie so unterschiedlich sind, ausfindig wollen, dass Sie die Anmeldeinformationen Tabelle werden die verschiedenen Daten-Bits verarbeiten kann, die jede API requrie könnten. Vergessen Sie nicht, OpenID zu schließen!

Beantwortet am 24/06/2009 um 01:16
quelle vom benutzer

stimmen
0

Ich nutze zwei Felder in meiner lokalen Konto oder Benutzertabelle. Man ist "externalSystemId" (TINYINT) genannt wird, und der andere ist "externalId" (DOUBLE). Ich habe einige Code Konstanten, die die verschiedenen externalSystemId Werte, dh definieren. EXTERNAL_SYSTEM_FACEBOOK = 1, EXTERNAL_SYSTEM_OPENID = 2, etc. Die externalId ist natürlich die Benutzer-ID von diesem System.

Während ein Benutzerobjekts in meinem Code Handhabung, kann ich leicht feststellen, welches System ein Benutzer aus, und die richtigen Codemechanismen laden, um etwas zu authentifizieren oder anzuzeigen, das system geeignet ist, auf der Grundlage der externalSystemId.

Beachten Sie, dass Sie eine Datenbanktabelle verwenden möchten, speichern Aufzeichnungen externen Systemen, anstatt Code Konstanten, je nachdem, wie viele Sie gehen mit zu tun haben und ob Sie eine Reihe von zusätzlichen Informationen über das System benötigen.

Beantwortet am 24/06/2009 um 01:31
quelle vom benutzer

stimmen
0

Sind Sie sicher, dass Sie andere Informationen als „Login“ gespeichert werden sollen: „Passwort“? Ich würde Ihnen empfehlen, dass Sie für das Speichern eine Aufzählung haben, die Login-System der Benutzer kommt.

Beantwortet am 12/08/2009 um 14:25
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more