2011-07-07 17 views
2

私は、ユーザーが自分の中にすでにある場合、私はその後、アクセストークンを取得し、参照するためのチェックを実行するためにコールバックを使用してFacebookの開発者のドキュメントFacebook API - 特定のユーザーを認証しますか?

$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>"; 
} 

に投稿された簡単な例を経て、FacebookのAPIに接続していますデータベース。しかし、私は別のFacebookアカウントにログインし、自分のデータベースに保存されているログインを使用してユーザーをログインさせると、認証時に現在ログインしているFacebookユーザーのものだと気付きました。

私の質問は、上記の認証コードを変更して、自分のデータベースに保存されているFacebookのユーザーIDを使用し、そのユーザーを具体的に認証する方法がありますか?

たとえば、アクティブなFacebookセッションのユーザーが自分のサイトにログインしているユーザーでない場合、現在のセッション(Facebookからログアウト)を終了し、Facebookにログインするようユーザーに要求します。

答えて

0

Facebook APIでユーザーを認証するには、オンラインとオフラインの2つの方法があります。 1人のユーザーでFacebookにログインしていて、別のユーザーにアクセスしたい場合、実際にはオフラインモードで他のユーザーにアクセスしています。このためには、オフラインアクセス許可が必要です。この権限を持っている したら、この質問の手順に従うことができます: Facebook offline access step-by-step

サイドノート:私の経験から、人々は本当にoffline_access権限を与えることを好きではありません。本当に本当に必要な場合にのみこれを尋ねてください。これにより、このアプリを使用するユーザーの数が制限される可能性があることを理解してください。ちょうど私の2セント。

関連する問題