如何通过电子邮件和密码使用Firebase简单登录?
Firebase简单登录提供电子邮件/密码选项,我如何使用它? 从创建用户开始,为该用户存储数据,并将其记录到日志中。
有三个不同的步骤需要执行(让我们假设你有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);
}
});
});
}
3.用户登录
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
进行书写或阅读 - 当我登录时 - 而不是其他人。
请注意,简单登录不会存储除用户ID和电子邮件以外的其他用户信息。 如果要存储有关用户的其他数据,则必须自己执行此操作(可能在createUser
的成功回调createUser
)。 您可以存储这些数据,因为您通常会将任何数据存储在Firebase中 - 只需要注意谁可以读取或写入此数据!
只需要让某人进入该线程并使用Firebase身份验证查找一些示例应用程序即可。 这里有两个例子
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://www.djcxy.com/p/74041.html上一篇: How do I use Firebase Simple Login with email & password