Håndtere flere påloggingssystemer (Facebook Connect, Google-konto, og andre)

stemmer
3

Hvis du ønsker å la brukere av området for å kunne logge inn med Facebook Connect, Google-konto, etc, hvordan kan du designe databasen, slik at de er alle integrert?

Publisert på 23/06/2009 klokken 23:46
kilden bruker
På andre språk...                            


3 svar

stemmer
2

Jeg foreslår at du bruker en Accounts bordet for å holde din lokale kontodata som da ville bli knyttet til en AthenticationMethods tabell eller en legitimasjon tabell der du ville holde relaterte eksterne autentiseringsdetaljer. Dette gjør at nettstedet ditt, og alt kompleksitet å være relatert til regnskap og din innloggingsprosessen til pent abstrakte ulike former for autentisering som du kanskje ønsker å støtte. Gitt at hver autentiseringsmetode kan ha ulike nivåer av kompleksitet jeg foreslå å se på de forskjellige APIer og kryss henviser dem alle til å finne felles likheter. Viktigere du vil ønske å lokalisere hvor de er forskjellige, slik at du legitimasjon bord kan håndtere de forskjellige biter av data som hver API kan requrie. Ikke glem å ta med OpenID!

Svarte 24/06/2009 kl. 00:16
kilden bruker

stemmer
0

Jeg bruker to felt i min lokale konto eller brukertabellen. Den ene heter "externalSystemId" (TINYINT), og den andre er "ExternalId" (dobbel). Jeg har noen kode konstanter som definerer de ulike externalSystemId verdier, altså. EXTERNAL_SYSTEM_FACEBOOK = 1, EXTERNAL_SYSTEM_OPENID = 2, etc. ExternalId er selvsagt brukerens id fra dette systemet.

Når du håndterer et brukerobjekt i koden min, kan jeg lett finne ut hva systemet en bruker er fra, og laste den riktige koden mekanismer for å godkjenne eller vise noe som er system hensiktsmessig, basert på externalSystemId.

Merk at du kan ønske å bruke en database tabell for å lagre registreringer av eksterne systemer, i stedet for kode konstanter, avhengig av hvor mange du skal gjøre med, og om du trenger en haug med ekstra informasjon om systemet.

Svarte 24/06/2009 kl. 00:31
kilden bruker

stemmer
0

Er du sikker på at du vil lagre annen informasjon enn "Logg inn": "passord"? Jeg vil anbefale deg at du har en oppregning for sparing som login system brukeren kommer fra.

Svarte 12/08/2009 kl. 13:25
kilden bruker

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