2013-03-01 21 views

cevap

41

(jQuery sahip en varsayalım) yapılacak üç ayrı adım vardır:

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. Kullanıcı kaydı geri arama kurma

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. Kullanıcı girişi

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() 
    }); 
    }); 
} 

giriş 1. adımda kayıtlı çağrı uygulamak zorunda kalacak bir yöntemdir ki biz doLogin(user) diyoruz ve bu noktada, doğru kullanıcı nesnesi ile çağrılır başarıyla tamamlayan .

Kullanıcı verilerinin yapısı çok basit. Aşağıdaki özelliklere içeren bir nesnedir:

email: kullanıcı için benzersiz sayısal (otomatik artan) Kimlik

FirebaseAuthClient sizin için otomatik olarak firebsae kimlik doğrulaması olacak değil başka bir işlem: Kullanıcı id eposta adresi gerekli. - Giriş yaptım am zaman - ve hiç kimse Bunun anlamı

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

, benim Kullanıcı kimliği 42 ise, sadece yazabilirim veya example.firebaseio-demo.com/users/42 de okuyun: Artık güvenlik kuralları aşağıdaki gibi bir şey kullanabilirsiniz .

Basit Giriş'in, kullanıcı kimliği ve e-postası dışındaki kullanıcılarla ilgili ek bilgi saklamadığını unutmayın. Kullanıcı hakkında ek bilgi depolamak istiyorsanız, bunu kendiniz yapmanız gerekir (muhtemelen createUser için başarı geri dönüşünde). Bu verileri, Firebase'de normalde saklayacağınız şekilde saklayabilirsiniz - sadece bu verilere kimin okuyabileceğini veya yazabileceğine dikkat edin!

+4

Bu burada dayalı bir jsFiddle oluşturuldu: http: // jsfiddle.net/dirkk0/LAJKX/ – dirkk0

+2

Kullanıcı basit kullanımlı sahte e-postaları engellemek için e-posta doğrulaması yapabilir miyiz? – vzhen

+2

E-posta doğrulama yakında geliyor, bir duyuru için Firebase posta listesini izleyin! – Anant