FirebaseUI Auth - Facebook登录错误:来自Facebook的debug_token响应失败

时间:2017-04-11 22:28:00

标签: android facebook firebase firebase-authentication firebaseui

我正在尝试集成FirebaseUI Auth库。 Google登录和电子邮件登录工作正常但我在设置Facebook登录时遇到问题。 这是我的代码:

user = firebaseAuth.getCurrentUser();
            if (user != null) {
                   startMainActivity();
                   finish();
            } else {
                startActivityForResult(
                        AuthUI.getInstance()
                                .createSignInIntentBuilder()
                                .setIsSmartLockEnabled(!BuildConfig.DEBUG)
                                .setProviders(Arrays.asList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
                                        new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
                                        new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build()))
                                .build(),
                        RC_SIGN_IN);
            }

当我点击Facebook按钮时,所有登录过程都顺利进行(在我的Facebook个人资料中,我在我的应用列表中看到了该应用)但是firebase没有创建用户而且我被卡在登录页面上。 在Android Monitor中,我有以下几行(应用程序不会崩溃):

E/CredentialSignInHandler: Unexpected exception when signing in with credential
                           com.google.firebase.FirebaseException: An internal error has occurred. [ Unsuccessful debug_token response from Facebook ]
                           at com.google.android.gms.internal.zzblv.zzce(Unknown Source)
                           at com.google.android.gms.internal.zzbls$zzj.zza(Unknown Source)
                           at com.google.android.gms.internal.zzbmd.zzcf(Unknown Source)
                           at com.google.android.gms.internal.zzbmd$zza.onFailure(Unknown Source)
                           at com.google.android.gms.internal.zzbly$zza.onTransact(Unknown Source)
                           at android.os.Binder.execTransact(Binder.java:453)

Firebase出现的错误只是“来自Facebook的不成功的debug_token响应”,没有任何代码或错误消息......我不知道该怎么做。

感谢您的帮助!

9 个答案:

答案 0 :(得分:7)

我有同样的问题,firebase上的facebook auth已启用,但指向另一个与我正在处理的应用程序ID不同的应用程序ID。

因此需要确保“firebase console / authentication / sign in method / facebook”中的应用程序ID与facebook控制台上的应用程序ID相同。

我花了几个小时才想出来,希望它有用。

答案 1 :(得分:5)

转到Facebook developers page,然后从下拉菜单中选择您的应用。然后转到设置 - >高级并找到是否已在客户端中嵌入App Secret?从切换按钮中选择并完成。如果您在查找选项时遇到任何困难,请参阅此图片链接。 Facebook Login error : Unsuccessful debug_token response from Facebook

答案 2 :(得分:3)

我遇到了同样的问题并在Facebook开发者页面重新检查屏幕右上方的App Secret后解决了这个问题。确保Firebase身份验证(Facebook提供商)中的App Secret与Facebook开发人员页面中的应用密钥相同。

App secret on Facebook developers

答案 3 :(得分:0)

您需要检查两者:Facebook开发者页面和Firebase身份验证(Facebook提供商)中的应用机密和应用ID,因为Firebase默认情况下有自己的ID

答案 4 :(得分:0)

我遇到了同样的问题,数小时无法解决。您的Firebase身份验证配置(facebook)中最有可能是错误的App-ID。就我而言,我输入的是我的应用的捆绑软件名称,而不是facebook的App-ID。希望对您有所帮助。

app configuration within firebase console

答案 5 :(得分:0)

对我来说,重设App Secret可以解决问题。 转到Settings --> Basic,然后单击'Reset'

旁边的'App Secret'

答案 6 :(得分:0)

我没有将切换从“是”切换为“这是本地应用还是桌面应用”。然后,我在Firebase中重新输入了应用程序密码,并确保将OAuth重定向URI添加到Facebook应用程序中。

答案 7 :(得分:0)

确保这与Facebook开发页面正确

enter image description here

答案 8 :(得分:0)

在我更改了应用程序中的google-services.json后,开始出现此问题。
我对此进行了更改,使其指向新的Firebase环境。此新环境还使用了新的Facebook应用程序注册。

我检查了新环境的所有设置:

  • Firebase中的Facebook App ID
  • Firebase中的Facebook App secret
  • Facebook中的Android Key Hashes

所有配置均正确,但我仍然收到错误消息。

经过长时间的搜索,我意识到新版本没有完全清除我的Flutter解决方案。因此,新版本仍使用旧缓存google-services.json

flutter cleanflutter build之后,它应能正常工作。