了解Firebase用户身份验证

时间:2015-10-01 05:14:45

标签: angularjs authentication firebase user-data

我制作了一个简单的Angular + Firebase应用,您可以see here.

我想使用Firebase为其添加用户身份验证,并且已成功创建帐户并使用Firebase的电子邮件和密码身份验证进行登录。

问题是,我不知道如何采取下一步来分离每个用户的数据 - 我希望每个用户只能更改自己的数据,直到他们和#39;重新登录。

我唯一能想到的就是更改我用来分隔我使用的FirebaseArrays的firebase网址,但这似乎超级hacky并且当我尝试它时没有工作。

我应该如何使用唯一的uid创建单独的用户数据?

1 个答案:

答案 0 :(得分:0)

因此每个用户在授权表中都有一个唯一的id,你无法直接访问(因为你不能添加表 - firebase会出于安全原因将其锁定)

这仍然允许基于id的分离。基本上会有一个书籍数组,你可以在每本书上添加一组用户,但这可能会变得多余。我认为最好的解决方案是创建一个user_books数组。这将列出具有书籍的id的所有用户,bookID为嵌套数组

user_books
    -Jsdee23dnn23d2n3d
          |- sdfEDASED82342dsd : true
          |- SDEdsdfwer343dsdf : true  
    -Jsdeesdfffffs433
          |- 43334sdfsrfesrdfg : true
          |- sdfsf333fsdfsrrrr : true 

这会将图书与用户联系起来。因此每个用户都有一系列书籍。当您希望用户执行CRUD操作时,这是要访问的目标

var usersRef = new Firebase('https://test.firebaseio-demo.com/user_books');
var ref = usersRef.child('userID'); 

创建图书时,您需要使用与图书相关联的所选用户更新book表和user_books