我正在尝试集成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 Profiles 中,我在应用程序列表中看到了应用程序)但是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响应”,没有任何代码或错误消息......我不知道该怎么做 .
谢谢您的帮助!
7 回答
转到Facebook developers page并从下拉菜单中选择您的应用 . 然后转到 Settings -> Advanced 并从切换按钮中找到 Is App Secret embedded in the client? 选择 No 并完成 . 如果您在查找选项时遇到任何困难,请参阅此图片链接 . Facebook Login error : Unsuccessful debug_token response from Facebook
您需要检查两者:Facebook开发者页面和Firebase身份验证(Facebook提供商)中的应用程序密钥和应用程序ID,因为Firebase默认情况下有自己的ID
我有同样的问题,几个小时都无法解决 . 在您的firebase身份验证配置(Facebook)中,它很可能是错误的App-ID . 在我的情况下,我输入了我的应用程序的包名称,而不是Facebook的App-ID . 希望能帮助到你 .
app configuration within firebase console
对我来说,重置App Secret就可以了 . 转到
Settings --> Basic
,然后单击'App Secret'
旁边的'Reset'
我没有切换到“是”这是一个原生或桌面应用程序“切换” . 然后,我在Firebase中重新输入了应用密钥,并确保将OAuth重定向URI添加到Facebook应用中 .
我有同样的问题,firebase上的facebook auth已启用,但指向另一个与我正在处理的应用程序ID不同的应用程序ID .
因此需要确保“firebase console / authentication / sign in method / facebook”中的应用程序ID与facebook控制台上的应用程序ID相同 .
我花了几个小时才想出来,希望它有用 .
我有同样的问题,并在Facebook开发者页面重新检查屏幕右上角的App Secret后解决了这个问题 . 确保Firebase身份验证(Facebook提供商)中的App Secret与Facebook开发人员页面中的应用密钥相同 .
App secret on Facebook developers