Ionic Firebase Auth弹出窗口立即关闭

时间:2015-09-17 16:03:49

标签: firebase ionic facebook-authentication firebase-authentication

我正在关注Firebase网站上的Facebook Auth教程。你可以在这里看到它:https://www.firebase.com/docs/web/libraries/ionic/guide.html

$scope.login = function() {
Auth.$authWithOAuthRedirect("facebook").then(function(authData) {
  // User successfully logged in
}).catch(function(error) {
  if (error.code === "TRANSPORT_UNAVAILABLE") {
    Auth.$authWithOAuthPopup("facebook").then(function(authData) {
      // User successfully logged in. We can log to the console
      // since we’re using a popup here
      console.log(authData);
    });
  } else {
    // Another error occurred
    console.log(error);
  }
});
};

我的问题是我正确收到了TRANSPORT_UNAVAILABLE错误,而且我接到以下代码行

Auth.$authWithOAuthPopup("facebook").then(function(authData) {
  // do stuff with the authData
})

但是,当我在我的设备或模拟器上运行时,来自InAppBrowser插件的弹出窗口会立即关闭,并且不允许我输入任何凭据。

修改

有两点需要注意。首先,使用上面的代码,通过浏览器完成auth不起作用。因此,如果我执行ionic serve并尝试登录,则除了我看到网址简要更改为http://localhost:8100/#/login&__firebase_request_key=0wRrfF07Ojg1PmJXNX1OsvrRFR2Q1LGj 但后来又返回http://localhost:8100/#/login

其次,当我通过Xocde构建项目并在我的设备上运行时,InAppBrowser插件似乎不再立即关闭,而是通过白屏冻结。 Xcode中的日志显示以下内容

THREAD WARNING: ['InAppBrowser'] took '79.103027' ms. Plugin should use a background thread. NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) webView:didFailLoadWithError - -1200: An SSL error has occurred and a secure connection to the server cannot be made. 编辑2

看起来SSL错误的上述问题是因为升级到ios 9时出现了无关的错误。我已经纠正了这些问题,现在我又回到了原来的状态。除了现在InAppBrowser窗口甚至没有打开,我仍然使用TRANSPORT_UNAVAILABLE命中catch块。

1 个答案:

答案 0 :(得分:1)

我不确定我是如何解决这个问题的。难以隔离最初破坏的东西和因ios 9升级而破坏的东西。但是,我已经能够解决这个问题。我开始吹走/ios内的/android/platforms文件夹。我还删除了/plugins文件夹中的所有插件。

然后我添加了ios和android平台。然后我加回了插件。然后我按照这两篇博客文章中的步骤修改你的应用程序是ios 9赞美。

http://blog.ionic.io/ios-9-potential-breaking-change/

http://blog.ionic.io/preparing-for-ios-9/