firebase - 当通过移动设备中的内置浏览器使用时,Firebase signInWithPopup会阻止身份验证/弹出窗口

标签 firebase facebook-messenger

问题:通过第三方应用程序内置浏览器(例如LINE,Twitter或Facebook Messenger)使用时,signInWithPopup返回auth/popup-blocked。 Firebase文档的解释是:



auth / popup-blocked:如果弹出窗口被浏览器阻止,通常在单击处理程序之外触发此操作时抛出。



触发此错误的典型顺序是:我的Web应用程序的链接发送到LINE,Twitter或Facebook Messenger。当用户使用移动设备并在那些应用中打开该链接时,将打开其内置浏览器。调用signInWithPopup然后返回错误。在iOS和Android中,行为略有不同,但至少iOS / LINE组合会导致错误。

我正在使用Angular并构建一个Web应用程序。错误消息是来自Unable to establish a connection with the popup. It may have been blocked by the browser.firebase.js-不是我自己的文字。

在普通浏览器中使用时,注册工作正常。

有什么想法为什么内置浏览器和signInWithPopup不能一起使用?

最佳答案

Firebase身份验证应从某些用户交互(例如单击按钮)开始。这为我解决了问题。

关于firebase - 当通过移动设备中的内置浏览器使用时,Firebase signInWithPopup会阻止身份验证/弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39898356/

相关文章:

mobile - Facebook Messenger 检测关闭 web View (移动)

firebase - 如何让Flutter注册更多的字段?

android - Firebase第二次没有向手机发送验证码

facebook - 不支持的获取请求。 ID 为 'XXXXX' 的对象不存在,由于缺少权限而无法加载,或不支持此操作

node.js - Chatbot 消息不会显示在 Facebook Messenger 聊天头像中

android - Firebase 数据库的常用时间

json - 为什么 Angular Universal Server Side Rendering 在部署到 Firebase Hosting 后会出错?

javascript - 在 Firebase 中将电话号码设置为主键并防止重复

android - 我网站在 android webview 中的 Facebook 聊天按钮未打开 Messenger 应用程序