我正在尝试集成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响应”,没有任何代码或错误消息......我不知道该怎么做。
感谢您的帮助!
答案 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开发人员页面中的应用密钥相同。
答案 3 :(得分:0)
您需要检查两者:Facebook开发者页面和Firebase身份验证(Facebook提供商)中的应用机密和应用ID,因为Firebase默认情况下有自己的ID
答案 4 :(得分:0)
我遇到了同样的问题,数小时无法解决。您的Firebase身份验证配置(facebook)中最有可能是错误的App-ID。就我而言,我输入的是我的应用的捆绑软件名称,而不是facebook的App-ID。希望对您有所帮助。
答案 5 :(得分:0)
对我来说,重设App Secret可以解决问题。
转到Settings --> Basic
,然后单击'Reset'
'App Secret'
答案 6 :(得分:0)
我没有将切换从“是”切换为“这是本地应用还是桌面应用”。然后,我在Firebase中重新输入了应用程序密码,并确保将OAuth重定向URI添加到Facebook应用程序中。
答案 7 :(得分:0)
答案 8 :(得分:0)
在我更改了应用程序中的google-services.json
后,开始出现此问题。
我对此进行了更改,使其指向新的Firebase环境。此新环境还使用了新的Facebook应用程序注册。
我检查了新环境的所有设置:
App ID
App secret
Key Hashes
所有配置均正确,但我仍然收到错误消息。
经过长时间的搜索,我意识到新版本没有完全清除我的Flutter
解决方案。因此,新版本仍使用旧缓存google-services.json
。
在flutter clean
和flutter build
之后,它应能正常工作。