Firebase验证$createUserWithEmailAndPassword不工作



我一直在学习Firebase的课程,但很快发现很多事情都发生了变化。https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-用户和身份验证createusercredentials这些文件已经完全过时了。

在这里我声明我的火球变量

var ref = firebase.database().ref();
var firebasedata = $firebaseObject(ref);
var auth = $firebaseAuth();

然后我试着调用这个函数

this.register = function() {
  auth.$createUserWithEmailAndPassword({
    email: this.user.email, 
    password: this.user.password
  }).then(function(regUser) {
    $log.log(regUser);
  }).catch(function(error) {
    $log.log(error);
  });
};

但它抛出了一个错误:

代码:"身份验证/参数错误"消息:createUserWithEmailAndPassword失败:第一个参数"email"必须是有效字符串。

我一直在寻找这个问题的答案,但我能找到的只是更新我的angularfire或firebase(这都是最新版本(,或者this.user.email不是字符串。当我做时

 console.log(this.user.email);

我可以看到它是一个包含有效电子邮件的字符串。

欢迎向正确方向提供任何帮助!

对于遇到此问题的任何人:

auth.$createUser()

函数将用户对象作为参数。

While:

auth.$createUserWithEmailAndPassword()

将2个字符串作为参数,而不是一个对象。

从更改代码

auth.$createUserWithEmailAndPassword({
    email: this.user.email, 
    password: this.user.password
})

auth.createUserWithEmailAndPassword(user.email, user.password);

更改功能参数如下:

this.register = function() {
  auth.$createUserWithEmailAndPassword(this.user.email,this.user.password).then(function(regUser) {
    $log.log(regUser);
  }).catch(function(error) {
    $log.log(error);
  });
};
$scope.register = function() {
    firebase.auth().createUserWithEmailAndPassword($scope.email, $scope.password)
        .then(function(user) {
            console.log(user);
        })
        .catch(function(error) {
            console.log(error);
        });
    //}
}

在这里,你可以这样使用它。

相关内容

  • 没有找到相关文章

最新更新