2010-12-01 4 views
0

J'ai ajouté Facebook Connect à mon application via le SDK JavaScript. J'utilise Spring Security (c'est une application Grails) et j'ai ajouté du code qui quand quelqu'un clique sur le bouton FB Connection pour se connecter, je les authentifie manuellement contre leur compte d'utilisateur et tout est câblé correctement. J'ai 2 questions:Authentifier à Facebook sans cliquer sur le bouton Facebook Connect

  1. Lorsqu'un utilisateur se connecte d'abord avec FB et je n'ai pas de compte pour eux, je crée un compte pour eux avec leurs informations de FB, générer un mot de passe aléatoire, et d'utiliser leur email pour leur nom de connexion. Si l'utilisateur utilise le formulaire de connexion habituel à la place du bouton FB pour se connecter, comment puis-je également le connecter à FB?

  2. Chaque fois que l'utilisateur clique sur le bouton FB Connect, la fenêtre contextuelle s'affiche. S'ils sont déjà authentifiés, ils disparaissent et mon site redirige correctement. Comment puis-je empêcher l'affichage de la fenêtre contextuelle dans ce cas?

Merci

Répondre

0

Pour votre première question, l'utilisateur peut être connecter sur Facebook lors de l'atterrissage sur votre page après inscription. Vous pouvez donc compter sur le SDK Javascript pour vous aider.

Voir ici: http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus

Pour votre deuxième question, je pense que vous ne pouvez pas, sauf que vous pourriez obtenir un travail autour si vous utilisez le SDK Javascript mentionné pour la première question!

Voici comment je l'ai fait pour moviezine.se et ça marche très bien, mais ça peut être un peu énervant d'être connecté sans le demander quand vous revenez quelques jours plus tard. Ensuite, il y a le cas d'utilisation de la déconnexion: si vous êtes connecté automatiquement, êtes-vous automatiquement déconnecté aussi; et sinon, que se passe-t-il si votre session Facebook est remplacée par celle de votre petite amie qui est aussi un utilisateur sur votre site! :)

+0

Merci Nicolas. D'autres sites fonctionnent sans la fenêtre supplémentaire à chaque fois. Et les utilisateurs peuvent se connecter via FB ou leur site Creds. Et les deux comptes se connecter. Le problème est que le bouton facebook n'a pas de callback beforeSubmit de quelque sorte que ce soit. Bien sûr, je peux utiliser getLoginStatus pour afficher/masquer le bouton. Mais ça ne m'énerve que très loin. Mon système nécessite sa propre authentification. À l'heure actuelle, lorsqu'ils s'authentifient via FB, je les authentifie manuellement sur mon système. Je stocke l'ID FB de l'utilisateur dans ma base de données pour aider à cela. – Gregg

+0

Je dois aussi pouvoir aller dans l'autre sens. Lorsqu'un utilisateur se connecte via mon formulaire de connexion, et qu'un compte FB lui est associé, il autorise les deux. – Gregg

+0

Que diriez-vous d'utiliser un bouton personnalisé appelant FB.login() si nécessaire? http://developers.facebook.com/docs/reference/javascript/FB.login –