【发布时间】:2016-02-11 22:39:55
【问题描述】:
我正在使用 ionic 和 firebase,但我的视图登录出现问题。
登录视图始终显示为已通过身份验证,但在此视图中用户尚未登录
我需要做什么才能显示未经身份验证的视图?因为用户还没有登录
PS:我正在使用 facebook 社交验证。
.controller('BeforeLoginCtrl', function($scope, $state, $rootScope, $firebaseAuth, Auth) {
/*$scope.login = function() {
$state.go('login');
};
$scope.signUp = function() {
$state.go('signup');
};*/
Auth.$onAuth(function(authData){
if (authData === null) {
console.log("No autheticathed");
} else {
console.log("Authenticated");
/*$state.go('tab.dash');*/
}
$scope.authData = authData;
});
$scope.loginFacebook = function(){
Auth.$authWithOAuthRedirect("facebook").then(function(authData) {
}).catch(function(error) {
if (error.code === 'TRANSPORT_UNAVAILABLE') {
Auth.$authWithOAuthpopup("facebook").then(function(authData){
});
} else {
console.log(error);
}
});
};
})
.factory('Auth', function($firebaseAuth) {
var endpoint = "https://<NAME>.firebaseio.com/users";
var usersRef = new Firebase(endpoint);
return $firebaseAuth(usersRef);
});
【问题讨论】:
-
如果
Auth.$onAuth(function(authData)为您提供身份验证数据,您可以非常确定用户实际上已通过身份验证。请记住,Firebase 在页面转换之间“记住”身份验证状态。如果要强制用户注销,请致电$unauth() -
感谢您的解释!我打电话给
$unauth(),它奏效了。 -
由于这个原因,我将投票关闭作为一个错字。但是其他人可能有同样的期望,所以我把它变成了一个答案。
标签: javascript angularjs ionic-framework firebase angularfire