cordova Facebook登录提示嵌入式浏览器登录禁用的排查与解决
Cordova Android端无Facebook应用时登录报错解决方案
我多年来一直在混合应用中使用cordova-plugin-facebook4,2019年该插件废弃后切换为cordova-plugin-facebook-connect。近期收到多个应用的用户反馈,Facebook登录失败,报错信息如下:
为保障您的账号安全,已禁止从嵌入式浏览器登录Facebook,您可以更新所登录的应用后重试
问题复现与调研
- 卸载设备上的Facebook应用后可稳定复现该错误
- Facebook官方公告显示,自2021年10月5日起,Android端已不再支持通过嵌入式浏览器完成FB Login认证,社区相关反馈也显示该问题此前长期未得到修复
问题结论
用户设备安装了Facebook应用时,Facebook SDK会被直接触发,登录流程可正常完成;若设备未安装Facebook应用,插件会尝试调用浏览器登录,随后就会弹出上述嵌入式浏览器登录被禁用的报错,即便在Facebook开发者后台开启Embedded Browser OAuth Login设置,也无法改善该问题。
解决方案
经过数小时排查发现,该插件需要依赖AndroidX运行,构建过程中安装的cordova-plugin-facebook4使用的Facebook Android SDK 5.13版本不支持自定义标签,添加以下两个插件即可解决问题:
cordova plugin add cordova-plugin-androidx cordova plugin add cordova-plugin-androidx-adapter
欢迎大家提出更多优化方案。
内容的提问来源于stack exchange,提问作者Mahmoud Abd-Elsame3
相关产品推荐
相关产品推荐

