Firebase facebook弹出窗口返回null onAuth

时间:2016-01-06 21:01:48

标签: android popup ionic firebase firebase-authentication

我的firebase facebook弹出登录离子正常工作但突然停止工作(好吧,我正在修改应用程序,但我没有触摸服务)。该过程仍适用于浏览器(当我使用离子服务时)但不能在离子应用程序上运行。

var auth = $fAuth(ref);
  // login with Facebook
  auth.$onAuth(function(authData){ // authData -> null
    console.log("Auth..", authData);  // Auth.. null  
    /* refresh user data on firebase and registering push */
  });
  auth.$authWithOAuthPopup("facebook").catch(function(error) {
    console.log("Authentication failed:", error);
  });

当它工作时,$ onAuth cb函数在authData变量中收到一个对象,其中包含uid和facebook等属性。

我跑的时候:

ref.authWithOAuthPopup("facebook",function(){console.log(arguments)})

或:

ref.authWithOAuthPopup("twitter",function(){console.log(arguments)})

回调函数永远不会触发。

我在$ ionicPlatform.ready事件上运行auth进程。 我已经卸载并重新安装了该应用,并清理了应用数据。

谢谢!

1 个答案:

答案 0 :(得分:0)

你确定不会开火吗?

  

验证完成后将调用的回调函数。失败时,第一个参数将是一个表示失败的Error对象,具有机器可读的代码属性。 成功时,第一个参数将为null,第二个参数将包含字段uid(唯一用户ID),提供者(标识提供者的字符串),auth(auth。令牌有效负载)和expires(自Unix时代以来的到期时间(以秒为单位) - 以及更多,具体取决于用于进行身份验证的提供程序。

你没有把论点放在那里。 我认为如果你再试一次它应该有效。 来自firebase的示例代码:

ref.authWithOAuthPopup("facebook", function(error, authData) {
//                                          ^^^^^  ^^^^^^^^
  if (error) {
    console.log("Login Failed!", error);
  } else {
    console.log("Authenticated successfully with payload:", authData);
  }
});