Faire face à de multiples systèmes de connexion (Facebook Connect, Google compte, et d'autres)

voix
3

Si vous voulez permettre à vos utilisateurs du site pour pouvoir se connecter avec Facebook Connect, Google compte, etc, comment concevez-vous votre base de données afin qu'ils soient tous intégrés?

Créé 24/06/2009 à 00:46
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
2

Je suggère d'utiliser une table des comptes pour stocker vos données de compte local qui seraient alors liés à une table AthenticationMethods ou une table de vérification des pouvoirs où vous tiendriez les détails d'authentification externes connexes. Cela permet à votre site et tout sa complexité à être lié aux comptes et votre processus de connexion à bien résumé les différentes formes d'authentification que vous pourriez vouloir soutenir. Étant donné que chaque méthode d'authentification peut avoir différents niveaux de complexité, je suggère à la recherche sur les différentes API et traverser les références tous de trouver des similitudes communes. Plus importante que vous voulez trouver où ils sont différents pour que le tableau vous les informations d'identification peut gérer les différents bits de données que chaque API peut requrie. Ne pas oublier d'inclure OpenID!

Créé 24/06/2009 à 01:16
source utilisateur

voix
0

J'utilise deux champs dans mon compte local ou d'une table utilisateur. L'une est appelée "externalSystemId" (TINYINT), et l'autre est "ExternalId" (DOUBLE). J'ai quelques constantes de code qui définissent les différentes valeurs externalSystemId, à savoir. EXTERNAL_SYSTEM_FACEBOOK = 1, EXTERNAL_SYSTEM_OPENID = 2, etc. Le ExternalId est bien sûr l'identifiant de l'utilisateur de ce système.

Bien que la manipulation d'un objet utilisateur dans mon code, je peux facilement déterminer quel système est un utilisateur de et charger les mécanismes de code appropriés pour authentifier ou afficher quelque chose qui est du système approprié, en fonction de la externalSystemId.

Notez que vous pouvez utiliser une table de base de données pour stocker les enregistrements des systèmes externes, plutôt que des constantes de code, en fonction du nombre que vous allez traiter et si vous avez besoin d'un tas d'informations supplémentaires sur le système.

Créé 24/06/2009 à 01:31
source utilisateur

voix
0

Êtes-vous sûr que vous voulez stocker d'autres informations que « login »: « mot de passe »? Je vous recommande que vous avez une énumération pour l'économie quel système se connecter l'utilisateur vient.

Créé 12/08/2009 à 14:25
source utilisateur

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