Подтвердить что ты не робот

Как использовать Firebase Simple Login с помощью электронной почты и пароля

Firebase Simple login предоставляет адрес электронной почты/пароль, как его использовать? Начиная с создания пользователя, хранения данных для этого пользователя, для их входа и выхода.

4b9b3361

Ответ 1

Существует три различных шага (пусть предполагается, что у вас есть jQuery):

1. Настройте обратный вызов

var ref = new Firebase("https://demo.firebaseio-demo.com");
var authClient = new FirebaseAuthClient(ref, function(error, user) {
  if (error) {
    alert(error);
    return;
  }
  if (user) {
    // User is already logged in.
    doLogin(user);
  } else {
    // User is logged out.
    showLoginBox();
  }
});

2. Регистрация пользователя

function showLoginBox() {
  ...
  // Do whatever DOM operations you need to show the login/registration box.
  $("#registerButton").on("click", function() {
    var email = $("#email").val();
    var password = $("#password").val();
    authClient.createUser(email, password, function(error,  user) {
      if (!error) {
        doLogin(user);
      } else {
        alert(error);
      }
    });
  });
}

3. Вход пользователя

function showLoginBox() {
  ...
  // Do whatever DOM operations you need to show the login/registration box.
  $("#loginButton").on("click", function() {
    authClient.login("password", {
      email: $("#email").val(),
      password: $("#password").val(),
      rememberMe: $("#rememberCheckbox").val()
    });
  });
}

Когда логин завершится успешно, вызов, зарегистрированный на шаге 1, будет вызван с правильным пользовательским объектом, после чего мы вызываем doLogin(user), который является методом, который вам нужно реализовать.

Структура пользовательских данных очень проста. Это объект, содержащий следующие свойства:

email: адрес электронной почты пользователя id: уникальный цифровой (автоматически увеличивающий) идентификатор пользователя

FirebaseAuthClient автоматически аутентифицирует ваши огненные шары для вас, не требуя дальнейших действий. Теперь вы можете использовать в своих правилах безопасности следующее:

{
  "rules": {
    "users": {
      "$userid": {
        ".read": "auth.uid == $userid",
        ".write": "auth.uid == $userid"
      }
    }
  }
}

Это означает, что если мой идентификатор пользователя равен 42, только я могу писать или читать на example.firebaseio-demo.com/users/42 - когда я вошел в систему - и никто другой.

Обратите внимание, что Simple Login не хранит дополнительную информацию о пользователе, отличном от их идентификатора и электронной почты. Если вы хотите хранить дополнительные данные о пользователе, вы должны сделать это самостоятельно (вероятно, в обратном вызове успеха для createUser). Вы можете хранить эти данные, как обычно, хранить данные в Firebase - просто будьте осторожны, кто может читать или записывать эти данные!