У меня есть этот простой код:Бесконечный цикл при Facebook авторизации
// index.php
require_once("/fb/facebook.php");
require_once("/config/config.php");
$facebook = new Facebook(array(
'appId' => $config['appId'],
'secret' => $config['secret'],
'cookie' => true
));
$user = $facebook->getUser();
if ($user === 0) {
$loginUrl = $facebook->getLoginUrl(array(
'redirect_uri' => 'https://www.example.com/join.php'
));
echo("<script> top.location.href='" . $loginUrl . "'</script>");
exit;
}
else {
var_dump($facebook->api("/me"));
}
и код join.php является:
//join.php
require_once("/fb/facebook.php");
require_once("/config/config.php");
$facebook = new Facebook(array(
'appId' => $config['appId'],
'secret' => $config['secret'],
'cookie' => true
));
if (isset($_REQUEST['error'])) {
echo("<script>top.location.href='". $config['errors']['auth'] . "'</script>");
exit;
}
echo("<script>top.location.href='". $config['url'] . "'</script>");
проблема заключается в том, что, когда я иду: http://apps.facebook.com/myappsample (и я m НЕ зашел в систему на facebook) приложение показывает диалог auth (правильно), но после этого шага выполняется бесконечный цикл от index.php до join.php.
Как вы можете видеть, когда я проверяю, есть ли ошибки в join.php, я делаю перенаправление на index.php (домашняя страница приложения), но в index.php я все еще получаю $user === 0
, поэтому он перенаправляет другой время для join.php .... и т. д. и т. д. (бесконечный цикл).
Как я могу исправить эту проблему?
спасибо!
EDIT: Я использую join.php как обратного вызова (redirect_uri) для страницы входа. Цель этой страницы - сохранить внутри базы данных информацию о пользователе, поэтому join.php сделает это, а затем перенаправит index.php, чтобы пользователь мог использовать приложение. Неправильно?
Почему вы хотите, чтобы пользователь перешел на join.php? fb возьмет неавторизованного пользователя на страницу входа, а затем перенаправит обратно в ваше приложение, так что все должно быть хорошо, не так ли? – Dhiraj
Какова цель join.php? что такое '$ config ['url]' и '$ config [' errors '] [' auth ']? Кажется, он должен перенаправляться, если есть успех. –
@DhirajBodicherla смотрите EDIT на вопрос – Dail