php - Hybridauth - PHP - Facebook 返回无效的用户 ID

标签 php facebook yii yii-extensions hybridauth

自 2 周前以来,我一直在使用 hybridauth 并使用 facebook 正确登录,我没有做任何更改,今天早上我发现它无法正常工作。我试图将 facebook 应用程序(id 和 key )切换到另一个之前也能正常工作的应用程序,但仍然发生同样的事情。我还尝试运行 hybridauth 附带的示例,但它们都不起作用,所以我知道这不是我这边的配置,也不是 facebook 应用程序配置。

这是我尝试登录时告诉我的内容:

错误! 认证失败。用户已取消身份验证或提供商拒绝连接。

原始错误信息:认证失败! Facebook 返回了无效的用户 ID。

  • 是否会发生与我的服务器相关的事情?
  • Facebook 在过去 24 小时内是否对其 API 进行了任何更改?
  • 有人试验过类似的东西吗?

更新: 我从 1 周前就开始工作了,为了让它工作,我发现其他人之前(不到 1 个月前)也有同样的问题,他们在 17 天前通过更新 Facebook PHP SDK 修复了它。

这是 GitHub 的链接,您可以在其中查看解决此问题的更改:

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

有了这个,我设法让一切正常工作,但现在即使进行了这些更改(工作一周后)也发生了同样的错误。

最佳答案

我遇到了类似的问题,我相信在我的情况下我找到了解决方案,也许它会对其他人有所帮助。 (CURLOPT_CONNECTTIMEOUT)

HybridAuth 错误(无效用户)非常普​​遍,基本上它会查看 curl 是否返回某些内容,如果没有返回该错误,但真正的原因在错误消息中不可见。

我最后做的是下载 facebook php sdk 并使用默认示例 https://github.com/facebook/facebook-php-sdk/blob/master/examples/example.php

(更改了我的应用程序的 key )

那时我能够看到以前使用 HybridAuth 时没有显示的新错误消息

PHP fatal error :未捕获的 CurlException:6:名称查找超时

这让我看到了这篇文章 http://milkcodes.blogspot.com/2010/12/php-fatal-error-uncaught-curlexception.html谈到在我所做的 base_facebook.php 中增加 CURL 的超时时间,瞧!又开始工作了。

许多帖子中的根本问题是 CURL 连接是造成这些问题(https、超时、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',

关于php - Hybridauth - PHP - Facebook 返回无效的用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14068425/

相关文章:

php - 我如何使用 php 和 dom 获得第一个、第二个和第三个 TD 值

javascript - 使用jquery显示ajax响应按钮id

facebook - FQL : search events from their venue field

Facebook 发送按钮返回状态代码 200

ios - iOS 9 上的 Facebook 应用邀请,最后一个 FB iOS SDK 缩小了

mysql - Yii AuthManager 架构和类型

php - 启动CDbConnection时"Connecting string cannot be empty"错误

php - MYSQL - 对列表进行排序,最后如何总是有一个结果?

javascript - Yii,javascript 禁用某个字段进入未定义索引

javascript - Twig 日期过滤器不起作用( Angular 问题?)