Firebase Proste logowanie zapewnia opcję email/password, jak jej używać? Począwszy od utworzenia użytkownika, przechowywania danych dla tego użytkownika, do ich rejestrowania i wysyłania.Jak korzystać z Firebase Proste logowanie za pomocą adresu e-mail i hasła
Odpowiedz
Istnieją trzy kroki, aby być wykonywane (załóżmy masz jQuery):
1. Skonfiguruj swoją zwrotna
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. Rejestracja użytkownika
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. Logowanie
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()
});
});
}
Gdy logowanie zakończy się pomyślnie, wywołanie jesteś zarejestrowany w punkcie 1 zostanie wywołana z prawidłowego obiektu użytkownika, w którym momencie nazywamy doLogin(user)
który to sposób trzeba będzie wdrożyć .
Struktura danych użytkownika jest bardzo prosta. Jest to obiekt zawierający następujące właściwości:
email
: Adres e-mail użytkownika id
: Unikalny numeryczny (autoinkrementacja) identyfikator użytkownika
FirebaseAuthClient automatycznie uwierzytelnić firebsae dla Ciebie, a nie dalszych działań jest wymagane. Teraz można użyć coś jak poniżej w swoich zasad bezpieczeństwa:
{
"rules": {
"users": {
"$userid": {
".read": "auth.uid == $userid",
".write": "auth.uid == $userid"
}
}
}
}
Oznacza to, że jeśli moja nazwa użytkownika jest 42, tylko mogę pisać lub czytać na example.firebaseio-demo.com/users/42
- kiedy jestem zalogowany - i nikt inny .
Należy pamiętać, że Proste logowanie nie przechowuje żadnych dodatkowych informacji o użytkowniku innych niż jego identyfikator i adres e-mail. Jeśli chcesz przechowywać dodatkowe dane o użytkowniku, musisz to zrobić sam (prawdopodobnie w połączeniu zwrotnym sukcesu dla createUser
). Możesz przechowywać te dane, tak jak zwykle przechowujesz jakiekolwiek dane w Firebase - po prostu zachowaj ostrożność, kto może czytać lub zapisywać te dane!
stworzyłem jsFiddle oparciu o to tutaj: http: // jsfiddle.net/dirkk0/LAJKX/ – dirkk0
Czy mimo to możemy przeprowadzić weryfikację e-mailową, aby uniemożliwić użytkownikowi łatwe korzystanie z fałszywej wiadomości e-mail? – vzhen
Weryfikacja e-mailem wkrótce nadejdzie, obejrzyj listę mailingową Firebase, aby otrzymać ogłoszenie! – Anant
Wystarczy, że ktoś dotrze do tego wątku i będzie szukał przykładowej aplikacji używającej autoryzacji firebase. Oto dwa przykłady
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/
http://engineering.letsnurture.com/firebase-basic-authentication/ –