2010-09-22 6 views
1

La section autorisation de cette page developers.facebook.com/docs/api contient une bonne description de la procédure d'authentification pour un utilisateur sur mon application Facebook. Cependant, dans mon scénario je ne peux pas le faire fonctionner comme je le veux. Voici comment cela fonctionne:Facebook Graph API: réutiliser la chaîne de vérification de code?

  1. L'utilisateur accède à ma page de connexion et en cliquant sur le lien "Se connecter avec Facebook".

  2. L'utilisateur est redirigé vers graph.facebook.com/oauth/authorize? [Certains paramètres] et autorise mon application Facebook à accéder à ses données. Facebook redirige vers mon site. Mon site vérifie le paramètre Code, appelle Facebook pour le remplacer par un jeton d'accès, puis permet à l'utilisateur de connecter son compte sur mon site avec le compte sur Facebook. Le jeton d'accès est enregistré sur le compte d'utilisateur sur mon site. La prochaine fois que l'utilisateur arrivera sur mon site et voudra se connecter, il/elle devra être capable de cliquer sur le même lien "Se connecter avec Facebook" et de se connecter directement avec le compte du site (en supposant qu'il/elle est encore connecté à Facebook)

problème: Chaque fois que le code (de graph.facebook.com/oauth/authorize) est remplacé par un jeton d'accès, le jeton est modifié. Étant donné que ce jeton est utilisé pour rechercher l'utilisateur dans ma base de données de site, les échecs correspondants.

Ma question est maintenant: Comment résoudre ce problème? Le paramètre Code de graph.facebook.com/oauth/authorize peut-il être sauvegardé et utilisé encore et encore pour rechercher des utilisateurs? Ou est-ce qu'il y a un autre moyen de le faire? Je préférerais vraiment ne pas utiliser l'API Javascript car cela me donne beaucoup d'autres problèmes.

[Désolé les liens, je suis un nouvel utilisateur et ne peuvent pas poster plus d'un lien]

+0

Ah, je l'ai résolu: Après avoir obtenu l'access_token, j'appelle graph.facebook.com/me pour obtenir l'identifiant de l'utilisateur. Ceci est enregistré dans ma base de données. La prochaine fois que je me compare à cet id. – Olle

Répondre

1

Ah, je l'ai résolu: Après avoir obtenu le access_token Je viens d'appeler graph.facebook.com/me pour obtenir l'identifiant de l'utilisateur. Ceci est enregistré dans ma base de données. La prochaine fois que je me compare à cet id.

Questions connexes