2012-06-01 4 views
0

Как проверить, зарегистрирован ли пользователь из facebook с помощью php-sdk 3.1.1? Я делаю так:facebook php connect check cookie

$user = $this->facebook->getUser(); 
if ($user) { 

Так что если пользователь Я знаю, что он вошел, но это займет много времени, чтобы общаться с объектом facebook, если бы я мог проверить только с PHP, если facebook coockie есть, так что я знаю если кто-то вошел в систему.

Так о optimalisation скорости, может быть, это также хорошая идея, чтобы только один раз войти в систему с Facebook и реле на моей сессии или coockie

Может кто-нибудь дать мне некоторую обратную связь по этому поводу?

ответ

0

Если вы делаете чек, вы можете сохранить результат где-нибудь, например, в сеансе.

Вы не можете проверить cookie другого домена.

+0

Я могу хранить это не проблема, но если кто-то выходит из системы Facebook я снова нужно проверить, если ($ пользователю), и он должен создать фейсбук объект, и это занимает время – user1405338

+0

У вас нет большого выбора в любом случае. Серверы Facebook бывают быстрыми (когда они работают, в отличие от сегодняшнего дня!), Поэтому медленность - это ваш конец/ваш сервер. Переместите ваш сервер/сайт ближе к Facebooks - plonk ваш сайт на сервере в Калифорнии. – Robbie

0

Метод getUser() попытается получить идентификатор пользователя из подписанного запроса (либо из запроса, либо из файла cookie). По умолчанию он не будет вызывать серверы Facebook.

Вы не теряете производительность/скорость при создании объекта Facebook.

Вы должны следовать этому псевдо-код:

call getUser method 
if user 
    if(!isset($_SESSION['user'])) 
    get user data using graph api 
    store it in session 
    else 
    if($_SESSION['user']['fb_id'] != $user){ 
    get user data using graph api 
     store it in session   
    end 
    end 

end