我的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进程。 我已经卸载并重新安装了该应用,并清理了应用数据。
谢谢!
答案 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);
}
});