Firebase Simple login предоставляет адрес электронной почты/пароль, как его использовать? Начиная с создания пользователя, хранения данных для этого пользователя, для их входа и выхода.
Как использовать Firebase Simple Login с помощью электронной почты и пароля
Ответ 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 - просто будьте осторожны, кто может читать или записывать эти данные!
Ответ 2
Просто добавьте кого-нибудь к этой теме и ищите пример приложения, используя проверку firebase. Вот два примера
var rootRef = new Firebase('https://docs-sandbox.firebaseio.com/web/uauth');
......
.....
....
http://jsfiddle.net/firebase/a221m6pb/embedded/result,js/
http://www.42id.com/articles/firebase-authentication-and-angular-js/