2013-03-01 4 views

Odpowiedz

41

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!

+4

stworzyłem jsFiddle oparciu o to tutaj: http: // jsfiddle.net/dirkk0/LAJKX/ – dirkk0

+2

Czy mimo to możemy przeprowadzić weryfikację e-mailową, aby uniemożliwić użytkownikowi łatwe korzystanie z fałszywej wiadomości e-mail? – vzhen

+2

Weryfikacja e-mailem wkrótce nadejdzie, obejrzyj listę mailingową Firebase, aby otrzymać ogłoszenie! – Anant

Powiązane problemy