2011-07-07 3 views
2

Je me connecte à l'API Facebook via les exemples simples affichés dans la documentation des développeurs FacebookFacebook API - Authentifier un utilisateur spécifique ..?

$code = $_GET["code"]; 
    if(empty($code)) { 
     // Really long scope, but I've tested it, and there aren't any errors here. 
     $dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" . $app_id . 
     "&redirect_uri=" . urlencode($my_url) . 
     '&scope=email,read_stream,publish_stream,read_mailbox,read_requests,create_event, 
     manage_pages,publish_checkins,manage_friendlists,read_friendlists,user_about_me, 
     user_activities,user_birthday,user_checkins,user_education_history,user_events, 
     user_hometown,user_interests,user_likes,user_location,user_photo_video_tags, 
     user_photos,user_relationship_details,user_relationships,user_religion_politics, 
     user_status,user_videos,user_website,user_work_history'; 

    echo "<script> window.location.href='" . $dialog_url . "'</script>"; 
} 

J'utilise ensuite la fonction de rappel pour acquérir jeton d'accès et exécuter une vérification pour voir si l'utilisateur est déjà dans ma base de données. Cependant, j'ai remarqué que si je me connectais à un autre compte Facebook et que j'utilisais le login stocké dans ma base de données pour enregistrer l'utilisateur, quand il s'authentifie, c'est pour l'utilisateur Facebook actuellement connecté.

Ma question est: Y at-il un moyen de modifier le code d'authentification ci-dessus pour utiliser l'identifiant de l'utilisateur Facebook stocké dans ma base de données et authentifier cet utilisateur spécifiquement. Par exemple, si l'utilisateur avec une session Facebook active n'est pas l'utilisateur qui se connecte à mon site, il mettra fin à la session en cours (se déconnecter de Facebook) et demandera à l'utilisateur de se connecter à Facebook.

Répondre

0

Il existe deux façons d'authentifier un utilisateur dans Facebook API, en ligne et hors ligne. Lorsque vous êtes connecté à Facebook avec un utilisateur et que vous souhaitez en accéder un autre, vous accédez en fait à l'autre utilisateur en mode hors connexion. Pour cela, vous avez besoin de l'autorisation d'accès hors connexion. Une fois que vous avez cette autorisation, vous pouvez suivre la procédure décrite dans cette question: Facebook offline access step-by-step

Une remarque: D'après mon expérience, les gens n'aiment vraiment pas donner l'autorisation de offline_access. Ne demandez cela que si vous en avez vraiment besoin, et comprenez que cela pourrait limiter le nombre d'utilisateurs qui utiliseront l'application. Juste mes deux cents.

Questions connexes