简体   繁体   中英

Understanding Firebase User Auth

I made a simple Angular + Firebase app, which you can see here.

I want to add user authentication to it using Firebase, and have successfully been able to create an account and login using Firebase's email and password auth.

The problem is, I don't know how to take the next step to separate each user's data — I want each user to only to be able to change their own data, and show nothing until they're logged in.

The only thing I could think of was to change the firebase URL I'm using to separate the FirebaseArrays I'm using, but that seems super hacky and didn't work when I tried it.

How am I supposed to use the unique uids to create separate, individual user data?

So every user will have a unique id within the authorize table , of which you cannot directly access ( in that you cannot add tables - firebase keeps it locked down for security reasons )

This still allows for a separation based on the id. There will essentially be a books array, You could add an array of users on each book, but that could get redundant. I think the best solution would be to create a user_books array. This will list all the users by id that have books, with the bookID as a nested array

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

This connects the books to the users. So each user has an array of books . This is the target to access when you want the user to perform CRUD operations

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

When you create a book you will need to update both the book table and the user_books table with the selected user(s) associated to the book

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM