Настройка проверки подлинности Firebase в Java Script - PullRequest
0 голосов
/ 24 мая 2018

У меня проблема с моими текущими настройками Firebase HTML и Javascript, из-за которых пользователи не регистрируются в моей базе данных Firebase.Я не получаю никаких предупреждений об ошибках в браузере, когда я запускаю приведенный ниже код.Я также попытался запустить сайт, запустив «firebase serve», и я не получаю никаких сообщений об ошибках в консоли.

Исходный код html и файл javascript приведены ниже.Я проверил, чтобы убедиться, что я могу получить доступ к полям имени пользователя и пароля из документа, и это работает нормально.Дайте мне знать, если вам нужна дополнительная информация.Спасибо!

Сразу после тега Body в моем html я включаю следующие скрипты:

<script src="https://www.gstatic.com/firebasejs/5.0.3/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.0.3/firebase-auth.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="register.js"></script>

Затем в мой файл register.js:

    // Initialize Firebase
      var config = {
        apiKey: "mykey",
        authDomain: "mydomain",
        databaseURL: "myurl",
        projectId: "myid",
        storageBucket: "mybucket",
        messagingSenderId: "mysenderid"
      };
      firebase.initializeApp(config);


    $(document).ready(function(){


    $("form").submit(function(){

      var email = $('user').val();
      var password = $('#password').val();
      firebase.auth().createUserWithEmailAndPassword(email, password)
      .then(function(val) {
            alert("Success!!");
            console.log(val);
        })
      .catch(function(error) {
        // Handle Errors here.
        alert("ERROR");
        var errorCode = error.code;
        var errorMessage = error.message;
        // [START_EXCLUDE]
        if (errorCode == 'auth/weak-password') {
          alert('The password is too weak.');
        } else {
          alert(errorMessage);
        }
        console.log(error);
        // [END_EXCLUDE]
      }).success(function(json) {
        console.log(json);
            alert("TESTER");
      })
          // [END createwithemail]
        });
});

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Пара замечаний:

1 / Для инициализации вам просто нужно сделать

<script src="https://www.gstatic.com/firebasejs/5.0.3/firebase.js"></script>

ИЛИ

<script src="https://www.gstatic.com/firebasejs/5.0.3/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.0.3/firebase-auth.js"></script>

См. https://firebase.google.com/docs/web/setup

2 / Не вызывайте метод отправки вашей формы.Просто получите значения полей электронной почты и пароля (например, var email = $('user').val();) и вызовите функцию Firebase createUserWithEmailAndPassword(email, password), как вы делаете, не отправляя форму.

Обратите внимание, что если вы хотите обработать успешную регистрацию, выследует добавить then() следующим образом, поскольку функция возвращает обещание (см. документ здесь )

firebase.auth().createUserWithEmailAndPassword(email, password)
        .then(function(val) {
            //Success!!
            console.log(val);
        })
        .catch(function(error) {
        // Handle Errors here.
        var errorCode = error.code;
        var errorMessage = error.message;
        if (errorCode == 'auth/weak-password') {
            alert('The password is too weak.');
        } else {
            alert(errorMessage);
        }
        console.log(error);
    });
0 голосов
/ 24 мая 2018

Добавьте функцию успешного завершения обратного вызова и посмотрите ответ

$("form").submit(function(){

  var email = $('user').val();
  var password = $('#password').val();
  firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
    // Handle Errors here.
    alert("ERROR");
    var errorCode = error.code;
    var errorMessage = error.message;
    // [START_EXCLUDE]
    if (errorCode == 'auth/weak-password') {
      alert('The password is too weak.');
    } else {
      alert(errorMessage);
    }
    console.log(error);
    // [END_EXCLUDE]
  }).success(function(json) { 
        console.log(json); 
  });
  // [END createwithemail]
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...