Android端基于Firebase的Facebook认证无法正常启动求助
解决Firebase + Facebook登录的SERVER_ERROR: 1675030问题
我刚接触Firebase社交登录的时候也踩过这个一模一样的坑——Google登录顺顺利利,点Facebook登录按钮后页面秒退,Logcat还蹦出这个1675030的错误码,其实本质都是配置细节不匹配导致的,咱们一步步排查:
先盯紧Facebook开发者后台的核心配置
- 首先把Firebase给的OAuth重定向URI加到Facebook后台:进入你的Facebook应用 → 产品 → Facebook登录 → 设置 → 有效的OAuth重定向URI,粘贴Firebase控制台里(Authentication → 登录方法 → Facebook)的那个URI,格式是
https://<你的项目ID>.firebaseapp.com/__/auth/handler,别漏了。 - 核对应用ID和密钥:确保你把Facebook后台的应用ID、应用密钥完整复制到Firebase的Facebook登录配置里,别多空格少字符。
- 应用状态与测试用户:如果你的Facebook应用还在“开发中”状态,一定要把你用来测试的Facebook账号加到后台的“测试用户”列表里;要是已经上线,就忽略这条,但上线前得确保所有配置都对。
- 首先把Firebase给的OAuth重定向URI加到Facebook后台:进入你的Facebook应用 → 产品 → Facebook登录 → 设置 → 有效的OAuth重定向URI,粘贴Firebase控制台里(Authentication → 登录方法 → Facebook)的那个URI,格式是
Android项目里的配置不能偷懒
- 检查
strings.xml:里面的facebook_app_id和facebook_client_token必须和Facebook后台完全一致,别手敲错了。 - 核对
AndroidManifest.xml:有没有加对这两个meta-data标签?
还有<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>LoginActivity的声明有没有漏?<activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" /> - 签名哈希值是重灾区!你在Facebook后台Android平台里添加的签名哈希,必须和你当前测试用的APK的签名哈希一致——debug包和release包的哈希是不一样的,别把release的哈希加到debug环境里用,我当初就是栽在这。
- 检查
Firebase控制台最后再核对一遍
- 确认Facebook登录的开关是打开的,并且重定向URI已经正确生成(有时候重新保存一次配置会自动刷新这个URI)。
- 虽然和登录闪退关系不大,但可以顺便看看Authentication的规则,确保后续登录后能正常访问实时数据库。
代码里的小细节别漏
- 如果你用的是FirebaseUI,初始化登录选项的时候要记得把
FacebookAuthProvider.PROVIDER_ID加进去。 - 一定要正确设置
CallbackManager,并且在onActivityResult里调用callbackManager.onActivityResult(requestCode, resultCode, data),不然Facebook的回调传不回来,也会导致页面闪退。
- 如果你用的是FirebaseUI,初始化登录选项的时候要记得把
我当初就是漏加了debug签名的哈希值,折腾了大半天,你可以先重点排查签名哈希和Facebook后台的重定向URI这两个点,大概率能解决问题。
内容的提问来源于stack exchange,提问作者Donax
相关产品推荐
相关产品推荐

