首页 > 解决方案 > Firebase 使用预先构建的 UI 登录 Facebook 登录无效;显示登录错误:登录此应用程序时出错

问题描述

我正在使用 Firebase 的“使用预先构建的 UI 登录”功能使用 Google 和 Facebook 帐户登录。谷歌帐户工作正常。当我尝试使用 facebook 帐户选项时,

  1. 未安装 facebook 应用程序的设备:登录 facebook 的弹出窗口打开,登录后,显示我的 facebook 应用程序的授权,当我授权 fb 应用程序使用我的帐户详细信息时,弹出窗口关闭并显示 firebase 登录 UI 页面再次。在这个阶段显示一个不确定的进度条,它一直在走,没有任何反应。

  2. 安装了 facebook 应用程序的设备:Facebook 应用程序已打开,但不显示授权提示。而是显示“登录错误:登录此应用程序时出错”

到目前为止,我已经完成了以下工作

<string name="facebook_application_id" translatable="false">YOUR_APP_ID</string>
<string name="facebook_login_protocol_scheme" translatable="false">fbYOUR_APP_ID</string> 

在字符串.xml 中

一些代码:

依赖项

implementation 'com.google.firebase:firebase-auth:17.0.0'
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
implementation 'com.facebook.android:facebook-android-sdk:[5,6)'

登录 UI 调用

btnSignIn.onClick {
            startActivityForResult(
                AuthUI.getInstance()
                    .createSignInIntentBuilder()
                    .setIsSmartLockEnabled(false)
                    .setAvailableProviders(
                        arrayListOf(
                            AuthUI.IdpConfig.FacebookBuilder().build(),
                            AuthUI.IdpConfig.GoogleBuilder().build()
                        )
                    ).setLogo(R.mipmap.ic_launcher)
                    .build(),
                RC_FIREBASE_SIGN_IN
            )
        }

谷歌 sigin 显示了一段时间的无限进度条,然后返回到上面代码的页面,一切都按预期工作。Fb 登录不会从 Firebase 用户界面返回。为什么FB登录不起作用?我在这里遗漏了什么还是做错了什么?

标签: androidfirebase-authenticationfacebook-loginfirebaseui

解决方案


我已经回答了一个类似的问题,因此我将分享相同的答案。希望能解决问题。

或者,如果您尚未将 SHA1 值添加到 Firebase 控制台,请按照此操作


推荐阅读