0
votes

L'authentification Web Firebase ne fonctionne pas - Erreur de renvoi uniquement pour un e-mail mal saisi

Je suis confronté à un problème d'authentification Web Firebase. Il n'y a pas d'erreur de retour dans la console depuis Firebase, j'ai délibérément essayé différentes combinaisons de mauvais mot de passe et d'ID d'e-mail, mais aucune erreur n'a été enregistrée dans la console. En utilisant le nom d'utilisateur et le mot de passe de connexion corrects, rien ne s'affiche et en utilisant le code à l'aide de chrome-dev-tools, la fonction ne s'exécute pas. quelqu'un peut-il aider? Merci d'avance ...

Compte tenu du code javaScript et des codes HTML ci-dessous, pourriez-vous s'il vous plaît vérifier le code pour confirmer quelque chose que j'ai manqué ??

Mais tout dans l'application Android fonctionne bien pour ce même projet p >

Ajout de localhost dans le domaine sous authentification et j'exécute l'application dans localhost.

login.html

<!-- language: lang-javascript -->

  // Your web app's Firebase configuration
  var firebaseConfig = {
// added the required codes here
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  firebase.analytics();

  //Handle Account Status
firebase.auth().onAuthStateChanged(user => {
  if(user) {
    window.alert("logged in");
  }
});

  const auth = firebase.auth();
  function signIn(){
      var username = document.getElementById('username').value; 
      var password = document.getElementById('password').value;   
      console.log(username+password);

      firebase.auth().signInWithEmailAndPassword(username, password).catch(function(error) {
        // Handle Errors here.
        var errorCode = error.code;
        var errorMessage = error.message;
        console.log(errorCode+" "+errorMessage);
        // ...
      });

  }

firebase.js p>

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Login</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="css/util.css">
    <link rel="stylesheet" type="text/css" href="css/main.css">
    <script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-analytics.js"></script>
    <script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-auth.js"></script>
    <script src="https://www.gstatic.com/firebasejs/7.2.3/firebase-firestore.js"></script>
    <script src = "js/firebase.js"></script>
    <script src="js/main.js"></script>
    <script src="js/userOperations.js"></script>
<!--===============================================================================================-->
</head>
<body>

    <div class="limiter">
        <div class="container-login100">
            <div class="wrap-login100">
                <form class="login100-form validate-form p-l-40 p-r-40 p-t-178">
                    <span class="login100-form-title">
                        <img src="./img/logo.png">
                    </span>

                    <div class="wrap-input100 validate-input m-b-16" data-validate="Please enter username">
                        <input class="input100" type="email" placeholder="Email" id = "username">
                        <span class="focus-input100"></span>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16" data-validate = "Please enter password">
                        <input class="input100" type="password" placeholder="Password" id = "password">
                        <span class="focus-input100"></span>
                    </div>


                    <div class="container-login100-form-btn ">
                        <button onclick="signIn()" class="login100-form-btn shadow">
                            LOGIN
                        </button>
                    </div>

                    <div class="text-right p-t-13 p-b-23">
                        <span class="txt1">
                            <a href="register_selection.html">
                            Register Now
                            </a>
                        </span>
                        <span class="txt2">
                            <a href="recover.html">
                            Forgot Password?
                            </a>
                        </span>

                    </div>

                    <div class="flex-col-c p-t-70 p-b-40">
                        <span class="txt4 p-b-9">
                            Copyright   &copy; 2019
                        </span>
                    </div>
                </form>
            </div>
        </div>
    </div>
</body>
</html>


0 commentaires

3 Réponses :


0
votes

Utilisez un try-catch et voyez

...

try {
    firebase.auth().signInWithEmailAndPassword(username, password);
}
catch(error) {
    // Handle Errors here.
    var errorCode = error.code;
    var errorMessage = error.message;
    console.log(errorCode+" "+errorMessage);
    // ...
}

...


1 commentaires

Salut, merci pour votre réponse rapide J'ai essayé cela mais je ne reçois toujours rien.



0
votes

signInWithEmailAndPassword () renvoie une Promise pour laquelle vous devez gérer les deux états finaux possibles, soit résoudre avec .then () (manquant dans votre code) ou rejeter avec .catch () (ce que vous faites).

Donc, il vous manque la partie .then () où vous obtiendriez généralement les données utilisateur et / ou vous redirigeriez vers une autre page ...


1 commentaires

Salut merci pour votre réponse. Changé le code comme ceci `firebase.auth (). SignInWithEmailAndPassword (nom d'utilisateur, mot de passe) .then (function (firebaseUser) {window.alert (" connecté "); // Success}) .catch (function (error) {/ / Gestion des erreurs window.alert ("got errr");}); ''



0
votes

Merci pour vos suggestions et solutions, mais j'ai résolu ce problème en changeant la classe de formulaire en div dans le fichier HTML


0 commentaires