2010-02-24 3 views
7

J'ai récemment mis en œuvre la connexion à mon facebook via connect. Alors maintenant, les utilisateurs ont 2 façons de se connecter au site. L'ancienne façon d'enregistrer un compte et la nouvelle façon (facebook connect).Liaison de nouveaux utilisateurs connectés via Facebook se connecter à des comptes existants

Une chose que je voudrais faire est de lier un nouveau compte d'utilisateur de connexion de Facebook aux comptes existants s'ils se sont connectés à l'ancienne manière.

Quelqu'un a-t-il réussi à le faire?

Répondre

4

Très bonne question je pense et beaucoup de gens vont bénéficier d'une réponse.

Ce qu'il faut retenir, c'est que les comptes ne sont liés que s'ils sont autorisés à être reliés par Facebook. Ce que vous devriez faire est de maintenir une deuxième table de comptes liés dans votre base de données afin que vous sachiez qui est qui et si elles sont liées à Facebook.

Vous devriez lire ce commentaire d'intégration, il fournit beaucoup d'informations utiles.

http://crazyviraj.blogspot.com/2010/01/test-cases-for-basic-facebook-connect.html

Il ne dit pas vraiment comment faire les choses, mais il est sûr que vous cochez toutes les cases de ce que vous devriez faire .

-à-dire:

Sign Up devrait échouer si l'utilisateur refuse l'autorisation de l'application (catégorie: signe up)

Depuis que nous avons besoin d'un accès à une adresse e-mail , Inscription échouait si l'utilisateur fournit publier l'autorisation, mais refuse l'autorisation de courriel (catégorie: vous enregistrer)

Si l'utilisateur fournit un emai l adresse qui existe déjà dans votre système, Échec de l'inscription. Assurez-vous que les tables de backend YouFace sont modifiées (catégorie: inscrivez-vous, le mappage 1: 1) PS - quand ce arrive, je n'ai pas trouvé un moyen pour vous de désautoriser YouFace au nom de l'utilisateur Facebook . L'utilisateur doit manuellement le faire s'ils souhaitent que vous utilisez le même compte, mais fournir une adresse électronique différente .

comptes créés à l'aide Facebook Connect ne devrait pas être capable de se connecter par courrier électronique par défaut YouFace/mot de passe système de connexion (catégorie: registré, sécurité des comptes).PS: Comme comptes YouFace nécessitent un mot de passe et ceux créés à l'aide Facebook Connect ne sont pas, assurez-vous d'insérer un mot de passe aléatoire hachage dans votre table pour éviter les erreurs stupides

comptes créés à l'aide YouFace devrait pouvoir de se connecter sans exiger à signer dans Facebook, même si quand un lien vers un compte Facebook existe (catégorie: registré)

Tous beaucoup plus

1

Vous devriez demander un accès permanent via l'authentification fb connect. Une fois que vous avez fait cela, vous recevrez un jeton qui vous donne la permission d'accéder aux informations Facebook de quelqu'un, et ce jeton n'expirera que si l'utilisateur vous retire explicitement de la liste des autorisations ou change son mot de passe.

Une fois que vous avez le jeton, associez ce jeton à l'utilisateur/créez un nouveau champ dans votre table utilisateur pour le stocker.

Pour associer l'utilisateur à un compte Facebook sans que l'utilisateur ne se connecte, vous pouvez essayer de faire correspondre par courrier électronique. Ce n'est pas 100% précis mais c'est plutôt bon. Facebook ne vous donne pas d'adresses e-mail sous forme de texte, mais vous pouvez obtenir des hachages de messagerie à partir de FQL. Étant donné que vous connaissez déjà les adresses e-mail des utilisateurs, vous pouvez calculer le hachage de tous vos e-mails utilisateur et rechercher des correspondances dans votre base d'utilisateurs chaque fois qu'un nouvel utilisateur Facebook Connect s'inscrit.

Questions connexes