web-dev-qa-db-fra.com

javascript firebase.auth (). signInWithEmailAndPassword ne peut pas obtenir un événement de réussite

Je travaille avec Java-scriptfire-base dans mon application.

Je suis capable de createUserWithEmailAndPassword avec succès dans l'application. En outre, il montre ces données à l'intérieur de Fire-base Console.

Voici l'extrait.

firebase.auth().createUserWithEmailAndPassword("[email protected]", "*******").catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      console.log("Eroor Msg"  + errorMessage);

      // ...
    });

Ensuite, j'ai traversé firebase.auth().signInWithEmailAndPassword

Avec la méthode ci-dessus, je ne peux pas recevoir d’événement de succès ni de message pour log. Même si ce n'est pas en jetant error.

Voici l'extrait.

firebase.auth().signInWithEmailAndPassword("[email protected]", "*****")
        .catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      if (errorCode === 'auth/wrong-password') {
        alert('Wrong password.');
      } else {
        alert(errorMessage);
      }
      console.log(error);
    });

Ma question est de savoir comment obtenir un événement de réussite avec cette méthode signInWithEmailAndPassword?

Toute aide est la bienvenue.

6
Jay Rathod RJ

Il suffit de vérifier le code ci-dessous:

firebase.auth().signInWithEmailAndPassword("[email protected]", "******")
   .then(function(firebaseUser) {
       // Success 
   })
  .catch(function(error) {
       // Error Handling
  });
28
user123456789

Cela doit être fait à l'aide de l'objet onAuthState. Voici le code pour vérifier si l'utilisateur s'est connecté avec succès ou non. 

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
  } else {
    // No user is signed in.
  }
});

vous pouvez exécuter ce code après vous être connecté avec succès. BTW ne signale aucun objet renvoyé par SignInWithEmailAndPassword à valider.

2

Puis-je critiquer un autre code que je vois pour que les gens comprennent quand utiliser "function" avec un événement de retour ...

//run one function only
.then(function(firebaseUser) => this.myfunction(firebaseUser); );

//run lines of code
.then((firebaseUser) => {

        // line1
        // line2

);

Mon code pour Ionic, pourrait être un peu différent pour AngularCLI

public async dologinUser(newEmail: string, newPassword: string): Promise<any> {
        try {
          return await this._afAuth.auth.signInWithEmailAndPassword(newEmail, newPassword)

            .then((firebaseUser) => {
              if (firebaseUser) {
                //do something
              }
            })

            .catch((error) => {

              var errorCode = error.code;
              var errorMessage = error.message;

              alert(errorMessage);


            });


        } catch (e) {
          console.error("big hu?", e);
        }

      }
0
PHILL BOOTH