2013-03-01 10 views

答えて

41

(あなたはjQueryのを持っているのが前提としましょう)を行うことには、3つの異なるステップがあります。

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.ユーザーログイン

ログインが正常に完了すると、手順1で登録されたコールは、あなたが実装する必要があります方法である私たちはdoLogin(user)を呼び出した時点で、正しいユーザーオブジェクトと呼ばれます
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() 
    }); 
    }); 
} 

ユーザーデータの構造は非常に簡単です。これは、以下のプロパティを含むオブジェクトです:

email:ユーザーに対する一意の数値(自動インクリメント)IDが

FirebaseAuthClientが自動的にあなたのためにfirebsaeを認証します、ではない、さらにアクション:ユーザー idの電子メールアドレス必要とされている。 - 私がログインしていたときに - と誰-1これは、

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

、私のユーザーIDが42であれば、唯一私が書くことはできませんかexample.firebaseio-demo.com/users/42で読み:今、あなたのセキュリティルールに以下のようなものを使用することができます。

簡易ログインでは、IDと電子メール以外のユーザーに関する追加情報は保存されません。ユーザーに関する追加データを保存する場合は、自分で行う必要があります(おそらく成功コールバックcreateUser)。 Firebaseにデータを保存する通常の方法と同じように、このデータを保存することができます。このデータを誰が読み書きできるかは注意してください。

+4

私はこのここに基づいてjsFiddleを作成します。http:// jsfiddle.net/dirkk0/LAJKX/ – dirkk0

+2

偽の電子メールを簡単に使用できないように電子メールの検証を行うことはできますか? – vzhen

+2

電子メールの検証が間もなく始まります。Firebaseのメーリングリストで告知してください! – Anant

関連する問題