Hybridauth – PHP – Facebook вернул недопустимый идентификатор пользователя

Хорошо, что у меня была работоспособность и логин с помощью facebook с 2 недели назад, я ничего не изменил, и сегодня утром я обнаружил, что он не работает. Я попытался переключить приложение facebook (id и секретный ключ) на другой, который также работал до этого, но все равно происходит то же самое. Я также попытался запустить примеры, которые поставляются с hybridauth, и они не работают ни один, поэтому я знаю, что это не для конфигурации с моей стороны, и ни от конфигурации приложения facebook.

Это то, что говорит мне, когда я пытаюсь войти в систему:

Ошибка! Ошибка аутентификации. Пользователь отменил аутентификацию или поставщик отказался от соединения.

Исходное сообщение об ошибке : Authentification failed! Facebook вернул идентификатор пользователя invalide.

  • Может ли происходить что-то, связанное с моим сервером?
  • В течение последних 24 часов facebook делал какие-либо изменения в своем API?
  • Кто-нибудь экспериментировал с чем-то подобным?

ОБНОВЛЕНО: Я работаю только с 1 недели назад, чтобы получить работу. Я нашел других людей с той же проблемой (менее 1 месяца назад), они исправили ее 17 дней назад, обновив PHP PHP SDK.

Вот ссылка на GitHub, где вы можете увидеть изменения, которые помогут устранить эту проблему:

https://github.com/F21/hybridauth/commit/3b115ee3abb5afbf44c37082e63aa8b056bf550c

При этом мне удалось заставить все работать, но теперь происходит та же ошибка даже с этими изменениями (после одной недели работы).

Solutions Collecting From Web of "Hybridauth – PHP – Facebook вернул недопустимый идентификатор пользователя"

У меня была аналогичная проблема, и я верю, что в своем случае я нашел решение и, возможно, это помогло бы кому-то другому. (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.