#php #facebook
#php #Facebook
Вопрос:
У меня есть собственное php-приложение с ограниченной частью, которое могут использовать только аутентифицированные пользователи. Следуя инструкциям от, мне удалось создать приложение FB и включить вход по электронной почте, используемой для входа в систему FB.
хорошо, но что делать дальше и как подключиться к моему веб-приложению и системе приложений для входа в систему FB? я предполагаю, что каким-то образом я должен получать информацию из приложения facebook и … делать что?
не могли бы вы, пожалуйста, дать мне несколько идей, как закончить это? заранее благодарю вас!
Комментарии:
1. (чтобы ответить неоднозначно, но …) если у вас в базе данных есть таблица пользователей, используйте электронную почту, полученную оттуда facebook, в качестве имени пользователя, затем используйте один и тот же пароль для всех ваших пользователей fb (сделайте его длинным и безопасным)
Ответ №1:
В руководстве, которому вы следовали, реализован поток на стороне клиента. Это означает, что все выполняется в браузере пользователя, и ваше веб-приложение не может получить (легко) некоторые данные из Facebook.
Вы должны реализовать поток на стороне сервера. Хороший и простой способ сделать это — использовать Facebook PHP SDK (смотрите на github). Таким образом, у вас будет что-то вроде :
require "facebook.php";
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => YOUR_APP_SECRET,
));
$user = $facebook->getUser();
Если пользователь вошел в систему, то $user
это его Facebook ID. Затем вы должны проверить, есть ли у вас действительный токен доступа, выполнив вызов API :
-
Если это не вызывает никаких исключений, значит, у вас есть действительный токен доступа
-
Если это произойдет, то вам придется повторно аутентифицировать пользователя.
Здесь :
if ($user) {
try {
$facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
}
Затем вам нужно отобразить ссылку для входа или выхода из системы :
<?php if ($user): ?>
<a href="<?php echo $facebook->getLogoutUrl() ?>">Logout of Facebook</a>
<?php else: ?>
<a href="<?php echo $facebook->getLoginUrl() ?>">Login with Facebook</a>
<?php endif ?>
Когда пользователь вошел в систему и у вас есть действительный токен доступа, вы можете выполнять вызовы API для получения данных из Facebook :
$user_profile = $facebook->api('/me');
Возможно, вы захотите проверить страницу примера Facebook PHP SDK, которая хорошо документирована.
Надеюсь, это поможет.
Комментарии:
1. не могли бы вы, пожалуйста, обновить ссылки в вашем ответе. теперь они мертвы.