Я реализует новое приложение, которое использует Facebook логин:
На developers.facebook.com я поставил настройки:
App Домены: (пустые)
URL сайта: http://localhost/site/
клиента OAuth Вход: Да
Web OAuth Логин: Да
Force Web OAuth Reauthentication: нет
Встроенный браузер OAuth Логин: нет
Действительно OAuth не перенаправлять URIs: http://localhost/site/externallogin/Facebook ошибка API redirect_ui
И в моем приложении ссылка Логина:
$facebook = new Facebook\Facebook([
'app_id' => FB_APP_ID,
'app_secret' => FB_APP_SECRET,
'default_graph_version' => 'v2.5',
]);
$helper = $facebook->getRedirectLoginHelper();
$permissions = ['email', 'public_profile', 'user_friends'];
$loginUrl = $helper->getLoginUrl("http://localhost/site/externallogin", $permissions);
echo '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a><hr>';
И моя страница externallogin:
$helper = $facebook->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
Но когда я перенаправлять я получил следующее сообщение об ошибке:
Graph returned an error: Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request
Я ve попытался изменить default_graph_version на 2.2, измените URI перенаправления Valid OAuth и возвращаемый url для всех видов, но ничего, то же самое.
Я прочитал все, что с этим связано, и пробовал весь подход, но все тот же.
Я не знаю, что может вызвать эту ошибку.
Мой вопрос: Как я могу исправить эту ошибку? Правильно достаю токен доступа. print 1 print 2
Stop случайно верчение вокруг делать бесполезные вещи, как изменение 'default_graph_version' настройки. Если вы перейдете на 'http: // localhost/site/externallogin', ваш сервер автоматически добавит'/'в конец? – ceejayoz
Да, это добавляет/в конце, когда я набираю http: // localhost/site/externallogin, он вернет http: // localhost/site/externallogin/ – BrunoRamalho
Это ваша проблема. См. Мой ответ. – ceejayoz