我正在尝试让我的应用程序使用firebase auth。。在这个阶段,我的登录控制器成功了,但它登录了,下一秒就注销了。
.controller('LoginCtrl', function ($scope, $location, userAuth) {
if ($scope.authData) {
console.log("User " + authData.uid + " is logged in with " + authData.provider);
} else {
console.log("User is logged out");
}
$scope.login = function() {
$scope.authData = null;
$scope.error = null;
userAuth.$signInWithEmailAndPassword($scope.loginemail, $scope.loginpassword)
.then(function(authData) {
$scope.authData = authData;
console.log(authData);
$location.path('/home');
$scope.$apply();
}).catch(function(error) {
$scope.error = error.message;
});
};
});
我有一个服务,在那里我可以得到我的火球对象:
.service('userAuth', ["$firebaseAuth", function($firebaseAuth) {
return $firebaseAuth();
}
什么是身份验证状态的更好方法,这样我就可以在整个网站上使用它?
我尝试使用$onAuth,但我得到了这个错误
TypeError: Cannot read property '$onAuth' of undefined
我假设您使用的是新的Firebase(3.x.x(和新的AngularFire(2.x.x(。
在这种情况下,您应该使用$onAuthStateChanged
而不是$onAuth
请参阅迁移指南