Omgaan met meerdere login systemen (Facebook Connect, Google-account, en anderen)

stemmen
3

Als u wilt dat uw gebruikers van de site te kunnen inloggen met Facebook Connect, Google-account, etc, hoe u uw database zo te ontwerpen dat ze allemaal zijn geïntegreerd?

De vraag is gesteld op 24/06/2009 om 00:46
bron van user
In andere talen...                            


3 antwoorden

stemmen
2

Ik stel voor het gebruik van een Accounts tafel om uw lokale accountgegevens die dan zou worden gerelateerd aan een AthenticationMethods tafel of een Geloofsbrieven tafel waar je gerelateerde externe verificatie informatie zou houden te houden. Hierdoor kan uw site en alle van de complexiteit te worden gerelateerd aan Accounts en uw login proces om mooi abstract de verschillende vormen van authenticatie die je zou willen steunen. Gezien het feit dat elke authenticatie methode verschillende niveaus van complexiteit Ik stel voor om te kijken naar de verschillende API's kunnen hebben en kruisverwijzingen ze allemaal om gemeenschappelijke overeenkomsten te vinden. Belangrijker wil je lokaliseren waar ze anders zijn, zodat je referenties tafel kan omgaan met de verschillende stukjes van de gegevens die elke API kunnen, verlangen. Vergeet niet om OpenID te omvatten!

antwoordde op 24/06/2009 om 01:16
bron van user

stemmen
0

Ik gebruik maken van twee velden in mijn lokale account of gebruiker tafel. De ene heet "externalSystemId" (TINYINT), en de andere is "ExternalId" (dubbel). Ik heb een code constanten die de verschillende externalSystemId waarden bepaald, namelijk. EXTERNAL_SYSTEM_FACEBOOK = 1, EXTERNAL_SYSTEM_OPENID = 2, enz ExternalId is natuurlijk id van de gebruiker van dit systeem.

Bij de omgang met een User object in mijn code, kan ik gemakkelijk te bepalen welk systeem een ​​gebruiker is uit, en laadt de juiste code mechanismen om te verifiëren of iets dat systeem nodig op basis van de externalSystemId weer te geven.

Merk op dat u kunt wensen om een ​​database tabel te gebruiken om gegevens van externe systemen, in plaats van code constanten, afhankelijk slaan van hoeveel je gaat te maken te hebben en of je een heleboel extra informatie over het systeem nodig hebben.

antwoordde op 24/06/2009 om 01:31
bron van user

stemmen
0

Weet u zeker dat u andere informatie dan "login" op te slaan: "password"? Ik zou u adviseren dat u een opsomming voor het opslaan die inloggen systeem van de gebruiker vandaan komt.

antwoordde op 12/08/2009 om 14:25
bron van user

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