2012-05-08 4 views
0

Я начинаю разрабатывать приложение Facebook с PHP SDK, у меня есть два вопроса относительно процесса auth/login.Должен ли я сохранять сеанс, когда пользователь регистрируется?

У меня есть этот код:

require_once("facebook.php"); 

    $config = array(); 
    $config[‘appId’] = 'xxxxxx'; 
    $config[‘secret’] = 'xxxxxx'; 
    $config[‘fileUpload’] = false; // optional 

    $facebook = new Facebook($config); 

    $user = $facebook->getUser(); 

Теперь у меня есть первое сомнение, делать что-то вроде:

if ($user === 0) { .... } 

Вопрос: - это проверить, если пользователь авторизован, или пользователь разрешил приложение? (Очевидно, когда $user != 0)

тогда я показать диалог аутентификации, чтобы позволить пользователю выбрать, если разрешить или не мое приложение, таким образом:

$loginUrl = $facebook->getLoginUrl(array{ 
    'scope' => 'read_stream', 
    'redirect_uri' => 'https://www.myapp.com/login.php' 
}); 
echo("<script> top.location.href='" . $loginUrl . "'</script>"); 

Вопрос: ли я использовать, если $ этот код пользователь возвращает 0? Я имею в виду, каков объем этого кода? Войти в Facebook или приложение Авторизация?

Спасибо!

+0

Почему у вас есть типографские котировки в вашем коде? вы пишете вопрос в MS Word? – ThiefMaster

ответ

1

Проверьте, принадлежит ли пользователь LOGGED или разрешено ли пользователям приложение?

Он проверяет, зарегистрирован ли пользователь на Facebook и авторизован приложению (с действующим токеном).

Должен ли я использовать этот код, если $ user возвращает 0? Я имею в виду, каков объем этого кода? Войти в Facebook или приложение Авторизация?

Сфера применения этого кода - авторизация приложения.

Если $user это 0, используйте этот фрагмент кода для перенаправления на страницу авторизации/входа в систему Facebook (если пользователь не авторизовался в этом приложении или если он сделал, но токен недействителен), после этого он будет перенаправлен на https://www.myapp.com/login.php?state=$s&code=$NEW_TOKEN И библиотека php facebook будет обрабатывать $_REQUEST['code'], так что $ user вернет идентификатор пользователя в facebook.

+0

Благодарю вас за ответ. Хорошо, я понял ... только одно. Что я должен делать с TOKEN? Должен ли я управлять им mysql ИЛИ php sdk сделает это автоматически? – Dail

+1

Нет, php-sdk делает это автоматически для вас после перенаправления пользователя из '$ loginUrl' EDIT: Если я могу предложить вам создать тестовых пользователей (https://developers.facebook.com/apps/ затем выберите приложение и перейдите к ролям), чтобы попробовать разные сценарии. И вот псевдокод для входа в систему и получения информации http://pastebin.com/GjvRqxCy <- Не этот псевдокод не должен быть совершенным, используйте его для тестирования/обучения. – 0xAli

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