android - Firebase 使用预构建的 UI 登录 Facebook 登录不起作用;显示登录错误 : There is an error in logging you into this application

标签 android firebase-authentication facebook-login firebaseui

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

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

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

到目前为止我已经做了以下事情

  • 在我的 firebase 控制台中启用 facebook 登录

  • 输入的app id和app secret

  • 在 fb 应用程序设置中从 firebase 控制台输入 OAuth 重定向

  • 在应用程序中添加了对 firebase、facebook sdk 的依赖

  • 已添加

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

在 strings.xml 中

  • 在 fb 应用程序设置中输入了正确的调试和发布 key 哈希值

  • 在 fb 应用程序设置中输入正确的包名称

  • 客户端 OAuth 登录、Web OAuth 登录、强制 HTTPS、嵌入式浏览器 OAuth 登录、对重定向 URI 使用严格模式 - 在 Facebook 应用程序设置中启用

  • 应用状态为 LIVE

部分代码:

依赖

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)'

登录界面调用

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
            )
        }

Google sigin 显示不确定的进度条一段时间,然后返回到包含上述代码的页面,一切都按预期进行。 Fb signin 不会从 firebase ui 返回。 为什么 fb 登录不起作用?我在这里遗漏了什么或做错了什么吗?

最佳答案

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

或者,如果您还没有将 SHA1 值添加到 firebase 控制台,请按照 this 进行操作

关于android - Firebase 使用预构建的 UI 登录 Facebook 登录不起作用;显示登录错误 : There is an error in logging you into this application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56747625/

相关文章:

android - 最佳实践(最适合 Android): authenticate a user with Facebook or Google login

java - 将多节点 ArrayList 添加到 Firebase 实时数据库

android - picasso 无法加载专辑封面

android - XSLT:源 XML 中属性名称中的冒号

android - 尝试在 builder.setPositiveButton 的 onClick() 方法中放置一些代码时获取 'Cannot resolve method ' addOnCompletionListener( )'.......'

ios - 为什么我的谷歌登录在我成功登录后不显示帐户选择?

Facebook 登录仅在主机设置为本地主机时有效?

android - 如何使用 Android map API v2 创建自定义形状的位图标记

firebase-authentication - 如何在 `getRedirectResult()`之后检测 `signInWithRedirect()`状态

swift - 使用新的 Firebase 登录 Facebook