$ authWithOAuthPopup()不适用于移动设备

Mur*_*ith 5 firebase angularfire

以下内容未在iOS 39.2(12B440)的Chrome 39.0.2171.50上打开弹出/新标签/执行任何操作,但它似乎在同一台设备上的Safari上运行:

<button ng-click="$auth.$authWithOAuthPopup('facebook')">Login with Facebook</button>
Run Code Online (Sandbox Code Playgroud)

请参阅plnkr:http://plnkr.co/edit/Ejd7fsyTHf6Ohn0F25Wy?p=preview

这是Chrome或Firebase/AngularFire的错误还是我做错了什么?

我从这里看到这可能是一个Chrome问题,但我也无法开始$authWithOAuthRedirect()工作; 请参阅:http://plnkr.co/edit/9dd0W8X5k33LFBcCLmzs?p=preview

Popup和Redirect都适用于桌面Chrome 39.0.2171.95

Rob*_*rco 4

Firebase 不支持所有平台的弹出窗口。如果检测到不受支持的平台,该authWithOAuthPopup()方法将返回错误代码TRANSPORT_UNAVAILABLE,指示您应该尝试使用不同的传输进行身份验证,例如浏览器重定向。

  • 不幸的是,某些浏览器不支持这种传输所需的功能。PhoneGap / Cordova / Ionic 需要垫片(InAppBrowser 插件)才能使用“window.open”。Chrome 在 iOS 中同样被禁用,因为它历来没有将“window.open(...)”与安全、跨框架 postMessage 结合起来的可靠传输。同样,重定向不适用于 PhoneGap / Cordova 应用程序,因为没有机制将浏览器从外部公共互联网 URL 重定向回加载 PhoneGap 应用程序的本地文件系统。 (3认同)