Хорошо, что у меня была работоспособность и логин с помощью facebook с 2 недели назад, я ничего не изменил, и сегодня утром я обнаружил, что он не работает. Я попытался переключить приложение facebook (id и секретный ключ) на другой, который также работал до этого, но все равно происходит то же самое. Я также попытался запустить примеры, которые поставляются с hybridauth, и они не работают ни один, поэтому я знаю, что это не для конфигурации с моей стороны, и ни от конфигурации приложения facebook.
Это то, что говорит мне, когда я пытаюсь войти в систему:
Ошибка! Ошибка аутентификации. Пользователь отменил аутентификацию или поставщик отказался от соединения.
Исходное сообщение об ошибке : Authentification failed! Facebook вернул идентификатор пользователя invalide.
ОБНОВЛЕНО: Я работаю только с 1 недели назад, чтобы получить работу. Я нашел других людей с той же проблемой (менее 1 месяца назад), они исправили ее 17 дней назад, обновив PHP PHP SDK.
Вот ссылка на GitHub, где вы можете увидеть изменения, которые помогут устранить эту проблему:
https://github.com/F21/hybridauth/commit/3b115ee3abb5afbf44c37082e63aa8b056bf550c
При этом мне удалось заставить все работать, но теперь происходит та же ошибка даже с этими изменениями (после одной недели работы).
У меня была аналогичная проблема, и я верю, что в своем случае я нашел решение и, возможно, это помогло бы кому-то другому. (CURLOPT_CONNECTTIMEOUT)
Ошибка HybridAuth (недействительный пользователь) очень общий, в основном это выглядит, если curl что-то возвращает, а если нет, дает эту ошибку, но реальная причина не отображается в сообщении об ошибке.
То, что я закончил, – это загрузку php sdk на facebook и использование примера по умолчанию https://github.com/facebook/facebook-php-sdk/blob/master/examples/example.php
(Изменены ключи для моего приложения)
В этот момент я смог увидеть новые сообщения об ошибках, которые раньше не показывались при использовании HybridAuth
PHP Неустранимая ошибка: Неиспользуемый CurlException: 6: тайм-аут имен
Это указывало на эту статью http://milkcodes.blogspot.com/2010/12/php-fatal-error-uncaught-curlexception.html, в которой говорится об увеличении таймаута CURL в base_facebook.php, который я сделал, и Voila! снова начал работать.
Основная проблема во многих сообщениях заключается в том, что связь CURL в основном отвечает за эти проблемы (https, timeout, nslookup и т. Д.)
Хороший способ быстро понять это – сохранить тестовый скрипт с помощью fb sdk для отладки.
в base_facebook.php вокруг строки 133
public static $CURL_OPTS = array( CURLOPT_CONNECTTIMEOUT => 30, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 60, CURLOPT_USERAGENT => 'facebook-php-3.2',
Возможно, ваша конфигурация отправляет KEY вместо ID:
Пример Facebook:
"keys" => array ( "id" => "PUT_YOURS_HERE", "secret" => "PUT_YOURS_HERE" )
Пример Twitter:
"keys" => array ( "key" => "PUT_YOURS_HERE", "secret" => "PUT_YOURS_HERE" )
Это связано с изменением api в facebook graph api, вы можете загрузить последнюю версию Hybridauth для facebook https://github.com/hybridauth/hybridauth , в настоящее время сторонний api недоступен для facebook, поэтому вам нужно скачать facebook sdk и place он находится в каталоге thirdparty, вы можете скачать его с https://github.com/facebook/php-graph-sdk .
После загрузки вам может потребоваться настроить файлы автозагрузки facebook sdk.