#php #facebook
#php #Facebook
Вопрос:
Я использую приведенный ниже код для своего приложения. Если я откажу в разрешении, я все равно смогу получить доступ к приложению, но это не должно привести меня к приложению, верно?
Где я ошибаюсь?
//Facebook Authentication part
$user = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'publish_stream,read_stream',
)
);
$me = null;
// Session based API call.
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
}
if (!$user) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
Ответ №1:
Я не уверен, что это даст вам ответ, который вы ищете. Но мне просто интересно, знаете ли вы об ожидаемом потоке аутентификации приложения Facebook.
Когда выбрано «Не разрешать», диалоговое окно Facebook перенаправит на:
http://YOUR_URL?error_reason=user_deniedamp;
error=access_deniedamp;error_description=The user denied your request.
Где YOUR_URL — это параметр redirect_uri, который был указан в URL диалогового окна oauth.
Ознакомьтесь с документами Facebook по аутентификации
Комментарии:
1. : Если вы видите игры zynga, если вы отказываете в доступе, на странице появляется сообщение о том, что пользователь отказал, но я знаю, что facebook делает. Как мне поступить, как zynga one?
2. Вы указываете URI перенаправления, в этом URI проверяется параметр error_reason. Затем предоставьте контент, который вы хотите. Zynga не сделала ничего волшебного..
Ответ №2:
Я думаю, что если вы нажмете на кнопку «Не разрешать», это приведет вас на страницу приложения, но если вы выполнили действие «Не разрешать» в своем коде, вы можете перенаправить его куда угодно