Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Firebase$authWithOAuthRedirect不';如果没有页面刷新,就不能调用$onAuth_Angularjs_Ionic Framework_Ionic_Firebase_Angularfire - Fatal编程技术网

Angularjs Firebase$authWithOAuthRedirect不';如果没有页面刷新,就不能调用$onAuth

Angularjs Firebase$authWithOAuthRedirect不';如果没有页面刷新,就不能调用$onAuth,angularjs,ionic-framework,ionic,firebase,angularfire,Angularjs,Ionic Framework,Ionic,Firebase,Angularfire,我有一个简单的Firebase FacebookOAuth登录设置,如下所示,按照Ionic Firebase FacebookLogin的设置 问题是,一旦我点击“使用Facebook登录”按钮,我就会被重定向到Facebook,登录,然后被重定向回我的应用程序。然而,问题是我停留在登录页面。奇怪的是,如果我按F5键刷新浏览器(使用ionic service),onAuth触发器就会触发Items页面。如果我不刷新浏览器,onAuth不会被调用 有人有这个问题吗?你是怎么解决的 请注意,是的,

我有一个简单的Firebase FacebookOAuth登录设置,如下所示,按照Ionic Firebase FacebookLogin的设置

问题是,一旦我点击“使用Facebook登录”按钮,我就会被重定向到Facebook,登录,然后被重定向回我的应用程序。然而,问题是我停留在登录页面。奇怪的是,如果我按F5键刷新浏览器(使用
ionic service
),onAuth触发器就会触发
Items
页面。如果我不刷新浏览器,
onAuth
不会被调用

有人有这个问题吗?你是怎么解决的

请注意,是的,我做了我的研究(我开始有点失去它),但无法让它工作。我搜索了这么多,尝试了谷歌群组,尝试调用$scope.$apply(),但都没有用-所以请帮我找出哪里做错了

.controller('AppCtrl',函数($scope,Items,Auth,$state,$IonichStory){
$scope.login=函数(提供程序){
Auth.$authWithOAuthRedirect(提供程序)。然后(函数(authData){
}).catch(函数(错误){
如果(错误代码==“传输不可用”){
Auth.$authWithOAuthPopup(提供程序)。然后(函数(authData){
});
}否则{
console.log(错误);
}
});
};
$scope.logout=函数(){
Auth.$unauth();
$scope.authData=null;
$window.location.reload(true);
};
Auth.$onAuth(函数(authData){
如果(authData==null){
console.log(“尚未登录”);
$state.go('app.login');
}否则{
log(“以身份登录”,authData.uid);
$IonichStory.nextViewOptions({
disableBack:对
});
$state.go('app.items');
}
$scope.authData=authData;//这将在视图中显示用户名
});
})

使用Facebook登录
你好{{authData.facebook.displayName}}!
注销

发布在github上,但也将在此处回复

这仅在使用
$authWithOAuthRedirect
的浏览器中发生。这个例子是为cordova应用程序设计的,所以这真的不应该是个问题

但是如果您真的需要它,您可以跳过重定向并使用弹出窗口

    Auth.$authWithOAuthPopup(authMethod).then(function(authData) {
      console.dir(authData);
    });

这是一个已在最新Firebase JS客户端版本()中修复的错误。您现在可以使用
$authWithOAuthRedirect
,当您导航回页面时,$onAuth回调将被触发。

Ah!非常感谢你!我一定是在文档中漏掉了这个:/。我以为它实际上被挡在了挡块里,但看起来是相反的。无论如何,谢谢你,我只是想亲自感谢你提供的很棒的框架!继续努力!嘿,莎拉,谢谢你的更新和修复。继续在曾经如此轻微的令人敬畏的Firebase继续出色的工作!没有,它还是坏的。这方面有进展吗?