2016-11-03 4 views
1

Ich habe einen Kurs auf Firebase verfolgt, aber schnell entdeckt, dass sich viele Dinge geändert haben. https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-users-and-authentication-createusercredentials Diese Dokumente sind vollständig veraltet.

Hier erkläre ich meine Feuerbasis Variablen

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

Dann versuche ich, diese Funktion

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); 
    }); 
}; 

zu nennen, aber es wirft diesen Fehler:

code : "auth/argument-error" message : "createUserWithEmailAndPassword failed: First argument "email" must be a valid string."

Ich habe nach Antworten gesucht Dieses Problem, aber alles, was ich finden kann, ist die Aktualisierung meiner eckigen oder Firebase (die beide die neueste Version sind) oder dass this.user.email keine Zeichenfolge ist. Wenn ich eine

console.log(this.user.email); 

Ich kann sehen, es ist eine Zeichenfolge, die eine gültige E-Mail enthält.

Jede Hilfe in die richtige Richtung wäre willkommen!

Antwort

1

Für alle, um dieses Problem zu erleben:

die alte

auth.$createUser()

Funktion nahm ein Benutzer-Objekt als Parameter.

While:

auth.$createUserWithEmailAndPassword()

2 Strings als Parameter nimmt, kein Objekt.

0

die Funktionsparameter wie folgt ändern:

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

    //} 
} 

hier, können Sie es auf diese Weise verwenden.

1

Code Ändern von

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

zu

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