Firebase Web身份验证不起作用-仅针对键入错误的电子邮件返回错误

我在基于Web的Firebase身份验证中遇到问题。 从Firebase返回的控制台中没有错误,我有意地尝试了错误密码和电子邮件ID的不同组合,但登录控制台时没有错误。通过使用正确的登录用户名(电子邮件)和密码,没有任何显示,并且通过使用chrome-dev-tools逐步执行代码,该功能未执行。有人可以帮忙吗?在此先感谢...

鉴于下面的javaScript代码和HTML代码,您能否验证代码确认我错过的东西?

但是,Android应用程序中的所有内容对于同一项目都可以正常工作

在经过身份验证的域中添加了本地主机,而我正在本地主机中运行该应用程序。

login.html

<!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>

firebase.js

<!-- 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);
        // ...
      });

  }
likunok 回答:Firebase Web身份验证不起作用-仅针对键入错误的电子邮件返回错误

使用try-catch并查看

...

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

...
,

signInWithEmailAndPassword()返回一个Promise,您应处理两个可能的最终状态,resolve.then()(在代码中丢失)或reject与{{1 }}(您的操作)。

因此,您缺少.catch()部分,该部分通常会获取用户数据和/或重定向到另一页...

,

感谢您的建议和解决方案,我通过将form class文件中的div更改为HTML来解决了这个问题

本文链接:https://www.f2er.com/3142128.html

大家都在问