android - Firebase 使用预先构建的 UI 登录 Facebook 登录无效;显示登录错误:登录此应用程序时出错
问题描述
我正在使用 Firebase 的“使用预先构建的 UI 登录”功能使用 Google 和 Facebook 帐户登录。谷歌帐户工作正常。当我尝试使用 facebook 帐户选项时,
未安装 facebook 应用程序的设备:登录 facebook 的弹出窗口打开,登录后,显示我的 facebook 应用程序的授权,当我授权 fb 应用程序使用我的帐户详细信息时,弹出窗口关闭并显示 firebase 登录 UI 页面再次。在这个阶段显示一个不确定的进度条,它一直在走,没有任何反应。
安装了 facebook 应用程序的设备:Facebook 应用程序已打开,但不显示授权提示。而是显示“登录错误:登录此应用程序时出错”
到目前为止,我已经完成了以下工作
在我的 Firebase 控制台中启用 facebook 登录
输入应用 ID 和应用密码
在 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>
在字符串.xml 中
在 fb 应用程序设置中输入正确的调试和释放密钥哈希
在 fb 应用设置中输入正确的包名称
客户端 OAuth 登录、Web OAuth 登录、强制 HTTPS、嵌入式浏览器 OAuth 登录、对重定向 URI 使用严格模式 - 在 fb 应用设置中打开
应用状态为 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)'
登录 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登录不起作用?我在这里遗漏了什么还是做错了什么?
解决方案
推荐阅读
- mongodb - Quarkus Swagger MongoDB ObjectId 格式
- python - 将对象列表转换为属性
- azure - Azure key Vault 的 Windows 10 VM 中的 NSLookup 命令在超时 2 秒时抛出错误
- node.js - 在 Azure Function 上运行时,Express (bodyParser) urlencoded 挂起,没有回调或抛出错误
- github-pages - Github 中缺少自定义域选项
- c++ - 接口的实现不是覆盖/实现虚拟方法
- python-3.x - 使用 xarray 在 MODIS 正弦网格中导出 netcdf 文件
- angular - (点击)事件在选择的选项上无法在 Chrome 上运行 - Angular 12
- python - 有没有更好的方法按类别分组,然后根据 Pandas 中不同的列值选择值?
- ssh - 在 SSH 隧道中创建 wordpress 的路径