2011-07-07 2 views
2

Я подключение к Facebook API с помощью простых примеров, размещенных в документации Facebook Developers'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 и использую логин, хранящийся в моей базе данных, для входа пользователя в систему, когда он будет аутентифицироваться, он будет для текущего пользователя в Facebook.

Мой вопрос: есть ли способ изменить вышеуказанный код аутентификации, чтобы использовать идентификатор пользователя Facebook, хранящийся в моей базе данных, и аутентифицировать этого пользователя.

Например, если пользователь с активным сеансом Facebook не является пользователем, зарегистрированным на моем сайте, он завершит текущий сеанс (выход из Facebook) и попросит пользователя войти в систему Facebook.

ответ

0

Существует два способа аутентификации пользователя в Facebook api, онлайн и офлайн. Когда вы вошли в Facebook с одним пользователем и хотите получить доступ к другому, вы фактически обращаетесь к другому пользователю в автономном режиме. Для этого вам нужно разрешение автономного доступа. После того как вы это разрешение, вы можете следовать процедуре в этом вопросе: Facebook offline access step-by-step

Примечание стороны: Из моего опыта, люди действительно не любят давать разрешение offline_access. Только просите об этом, если вам действительно это нужно, и поймите, что это может ограничить количество пользователей, которые будут использовать приложение. Только мои два цента.

Смежные вопросы