【问题标题】:How to debug Facebook connect issues?如何调试 Facebook 连接问题?
【发布时间】:2012-12-11 08:09:41
【问题描述】:

我已经使用 Facebook 连接设置了我的应用程序(使用 Omniauth),它似乎适用于某些帐户,但对于其他帐户,它会返回臭名昭著的 An error occurred 错误。

这并不是说它偶尔会发生,而是对某些用户来说始终如一。沙盒模式已关闭,APP 密钥等和域显然设置正确,否则总是会抛出错误。如何从一条如此模糊的消息中调试它?

编辑 2

App 域已正确设置,命名空间也是如此。我选择了“带有 Facebook 登录的网站”和“移动网络”,并且 URL 是正确的,而不是 HTTPS(两者都使用相同的 URL)。为了以防万一,我还重置了应用密码,但这并没有解决问题。

【问题讨论】:

  • 我不知道如何调试得很好,但是我有时会遇到https这样的问题。
  • 只有正确归因于您的应用程序的错误才会出现在见解仪表板中,如果请求完全无效、缺少应用程序 ID、使用该应用程序的无效 URL,则不会发生这种情况身份证等
  • @Igy 感谢您的评论。所有这些细节看起来都是正确的,并且如问题中所述,一些登录请求(即使用我的帐户和其他一些帐户)可以正常工作。
  • 错误(210:用户不可见)是这里的关键;您是否正在尝试发布到当前用户看不到的墙上?似乎还有一个与此相关的开放错误:developers.facebook.com/bugs/508152585872076
  • 嗨,Nachi,感谢您的评论,但这不是问题。

标签: facebook omniauth fbconnect


【解决方案1】:

试试下面的例子:

omniauth_callbacks_controller::process_callback 这样的方法

# If a user is signed in then he is trying to link a new account
    if user_signed_in?
      if authentication.persisted? # This was a linking operation so send back the user to the account edit page  
        flash[:success] = I18n.t "controllers.omniauth_callbacks.process_callback.success.link_account", 
                                :provider => registration_hash[:provider].capitalize, 
                                :account => registration_hash[:email]
      else
        flash[:error] = I18n.t "controllers.omniauth_callbacks.process_callback.error.link_account", 
                               :provider => registration_hash[:provider].capitalize, 
                               :account => registration_hash[:email],
                               :errors =>authentication.errors
      end  
      redirect_to edit_user_account_path(current_user)

并参考以下位置:OAuthException (#210) User not visible

我认为这可以帮助您解决问题。

【讨论】:

  • 这不是应用程序方面的问题,如问题 cmets 中所述,210 错误与此无关。
【解决方案2】:

您能否安装 Wireshark 并使用好帐户和坏帐户来来回监控流量 - 然后确定差异?

【讨论】:

  • 我看不出这会有什么帮助。
猜你喜欢
  • 2020-05-11
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多