Проверка, вошел ли пользователь в Facebook - PullRequest
0 голосов
/ 28 августа 2011

Я встраиваю интеграцию Facebook в мой сайт с помощью php sdk.Сайт использует offline_access.В соответствии с правилами платформы Facebook вы должны предоставить ссылку для выхода из системы, которая выводит пользователя из Facebook.

Чего я не хочу делать, так это отображать ссылку выхода из системы, если пользователь не вошел в систему.Facebook, так как они могут спутать его с кнопкой повторной авторизации.(Если они не вошли в систему, ссылка ничего бы не сделала ...)

Есть ли возможность проверить, вошел ли пользователь в Facebook?

Я думал, чтоиспользуйте метод getUser (), чтобы увидеть, получил ли я пользователя, если нет, тогда я продолжу установку токена доступа, который у меня есть, и я буду знать, вошел ли пользователь в систему или нет.Однако метод getUser () проверяет, установлена ​​ли уже защищенная переменная $ user, и, если это так, возвращает ее.Это делает метод getUser () непригодным для использования, когда я установил токен доступа и мне нужно еще раз проверить, есть ли у приложения доступ.

Думаю, я мог бы сделать это очень легко, изменив переменную $ user на public иустановите его обратно в ноль в моем приложении, но я не хочу редактировать SDK, если мне действительно не нужно.

Ответы [ 2 ]

0 голосов
/ 28 августа 2011

Используя php SDK, есть 2 способа проверить статус входа пользователя:

$facebook->getUser(); // provides user id of logged in user
$facebook->getAccessToken(); // provides access token of logged in user

Если вам абсолютно необходимо проверить, вошел ли пользователь в систему, установите маркер доступа и проверьтеопять же, ничто не мешает вам создать отдельный экземпляр объекта facebook и самостоятельно установить токен доступа.

Однако не уверен, почему вы захотите сделать это, как если бы у вас был получен токен доступас привилегией offline_access он всегда действителен (до тех пор, пока пользователь не деавторизует или не поменяет пароль), и если у вас нет offline_access, вы должны использовать тот, который указан в подписанном запросе или коде.

0 голосов
/ 28 августа 2011

Я думаю, что вы должны показывать кнопку «Выйти», только если пользователь вошел в систему и авторизован.По моему опыту, вы обычно не знаете, если пользователь вошел в Facebook, если он не авторизовал ваше приложение.И в любом случае, если они нажимают, чтобы авторизовать ваше приложение, им предлагается войти в систему в этот момент, если они не вошли в систему.

...