【问题标题】:Unauthorized source IP address With facebook sdk未经授权的源 IP 地址 使用 facebook sdk
【发布时间】:2013-03-01 22:15:32
【问题描述】:

我的网站使用“facebook api sdk”来访问用户的facebook信息,然后登录。

产生以下错误消息:“错误:无法访问 Facebook API 客户端(在 users_getInfo(693671783) 上失败)。结果:; OAuthException: (#5) 未经授权的源 IP 地址”。我尝试使用不同的 facebook 插件(Nextend Facebook Connect),但产生了相同的错误消息。

我尝试在应用设置中填写IP地址白名单,但仍然无效...

【问题讨论】:

  • 请发布一些代码来演示您正在做什么的示例。在不知道您实际调用的内容的情况下帮助您进行调试几乎是不可能的。
  • 已发布分步指南来解决此问题,apoorv.quora.com/… 希望对您有所帮助..

标签: facebook sdk


【解决方案1】:

你在使用 Heroku 吗?

如果是,您的服务器传出 IP 将在您每次部署时不断变化,一些 Herokus IP 已被 Facebook 列入黑名单,因此这确实是一件随机的事情,具体取决于您当时获得的服务器。

使用 Proximo 之类的方式修复您的传出 IP 将使您在查询 API 时可以预测您的源 IP,但它有点贵。

如果您有一个带有单个测功机的小型应用程序,您可以通过 heroku ps:restart 继续回收,直到您获得一台“好”服务器。

【讨论】:

    【解决方案2】:

    如果您有多个实例( Dynos 和 Workers ),可能并非所有实例都被列入黑名单。运行“heroku ps:restart”可能会将一些好的实例移动到坏的 IP。相反,我建议仅通过

    回收不良实例
    heroku restart bad_instance_name --app=your_app_name
    

    你可以通过grepping找到实例

    heroku logs -t --app=your_app_name | grep 'Unauthorized source IP address'
    

    结果输出将显示实例名称。

    这对我们来说比“heroku ps:restart”效果好得多,因为我们有超过 5 个正在运行的实例,并且在任何时候只有 1 或 2 个实例的 IP 错误。

    【讨论】:

    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 2013-04-09
    • 2012-10-06
    • 2013-04-11
    • 2022-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多