如何通过电子邮件使用Firebase简单登录&;密码

如何通过电子邮件使用Firebase简单登录&;密码,firebase,firebase-security,Firebase,Firebase Security,Firebase简单登录提供了一个选项,如何使用它?从创建用户、存储该用户的数据到登录和注销用户,有三个不同的步骤要执行(假设您有jQuery): 1。设置回拨电话 var ref=新Firebase(“https://demo.firebaseio-demo.com"); var authClient=新的FirebaseAuthClient(参考,函数(错误,用户){ 如果(错误){ 警报(错误); 返回; } 如果(用户){ //用户已登录。 多洛金(用户); }否则{ //用户已注销。

Firebase简单登录提供了一个选项,如何使用它?从创建用户、存储该用户的数据到登录和注销用户,有三个不同的步骤要执行(假设您有jQuery):

1。设置回拨电话

var ref=新Firebase(“https://demo.firebaseio-demo.com");
var authClient=新的FirebaseAuthClient(参考,函数(错误,用户){
如果(错误){
警报(错误);
返回;
}
如果(用户){
//用户已登录。
多洛金(用户);
}否则{
//用户已注销。
showLoginBox();
}
});
2。用户注册

函数showLoginBox(){
...
//执行显示登录/注册框所需的任何DOM操作。
$(“#注册表按钮”)。在(“单击”,函数(){
var email=$(“#email”).val();
var password=$(“#password”).val();
authClient.createUser(电子邮件、密码、函数(错误、用户){
如果(!错误){
多洛金(用户);
}否则{
警报(错误);
}
});
});
}
3。用户登录

函数showLoginBox(){
...
//执行显示登录/注册框所需的任何DOM操作。
$(“#登录按钮”)。在(“单击”,函数(){
authClient.login(“密码”{
电子邮件:$(“#电子邮件”).val(),
密码:$(“#密码”).val(),
rememberMe:$(“#rememberCheckbox”).val()
});
});
}
当登录成功完成时,您在步骤1中注册的调用将被正确的用户对象调用,此时我们调用
doLogin(user)
,这是您必须实现的方法

用户数据的结构非常简单。它是包含以下属性的对象:

电子邮件
:用户的电子邮件地址
id
:用户的唯一数字(自动递增)id

FirebaseAuthClient将自动为您验证firebsae,无需进一步操作。现在,您可以在安全规则中使用以下内容:

{
“规则”:{
“用户”:{
“$userid”:{
“.read”:“auth.uid==$userid”,
.write:“auth.uid==$userid”
}
}
}
}
这意味着,如果我的用户ID为42,则只有我在登录时才能在
example.firebaseio demo.com/users/42
上进行写或读操作,而其他人则不能


请注意,简单登录不会存储用户ID和电子邮件以外的任何其他信息。如果要存储有关用户的其他数据,必须自己存储(可能在
createUser
的成功回调中)。您可以像通常在Firebase中存储任何数据一样存储此数据-只是要小心谁可以读取或写入此数据

以防有人访问此线程并使用firebase身份验证查找某个示例应用程序。这里有两个例子

var rootRef = new Firebase('https://docs-sandbox.firebaseio.com/web/uauth');
......
.....
....


我们是否可以进行电子邮件验证以防止用户简单地使用假电子邮件?电子邮件验证即将到来,请观看Firebase邮件列表以获取公告@Anant如果您在github中提供seed应用程序,以便与AngularJs+Firebase一起使用,其中包括使用github和Facbook的Firebase auth以及Angular和Firebase的最新版本?@Anant是
FirebaseAuthClient
某个私有自定义对象,还是由Firebase提供的?据我所知,根据Firebase规范,
Firebase
对象应该足够大。