Firebase Simpleログインには email/password オプションがありますが、使用方法を教えてください。ユーザーの作成から開始し、そのユーザーのデータを保存し、ログインおよびログアウトします。
実行する3つの異なる手順があります(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);
}
});
});
}
_
。ユーザーログイン
_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
:ユーザーの一意の数値(自動インクリメント)ID
FirebaseAuthClientは自動的にfirebsaeを認証します。これ以上のアクションは不要です。これで、セキュリティルールで次のようなものを使用できます。
_{
"rules": {
"users": {
"$userid": {
".read": "auth.uid == $userid",
".write": "auth.uid == $userid"
}
}
}
}
_
つまり、ユーザーIDが42の場合、ログイン時は_example.firebaseio-demo.com/users/42
_でしか書き込みまたは読み取りができません。
Simple Loginは、IDと電子メール以外のユーザーに関する追加情報を保存しないことに注意してください。ユーザーに関する追加データを保存する場合は、自分で保存する必要があります(おそらくcreateUser
の成功コールバックで)。通常はFirebaseにデータを保存するのと同じように、このデータを保存できます。このデータの読み取りまたは書き込みができるユーザーに注意してください。
誰かがこのスレッドに到達し、firebase認証を使用するサンプルアプリケーションを探している場合に備えてください。ここに2つの例があります
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/