Я сделал простое приложение Angular + Firebase, которое вы можете увидеть здесь.
Я хочу добавить к нему аутентификацию пользователя с помощью Firebase и успешно смог создать учетную запись и войти в систему с помощью электронной почты и пароля Firebase.
Проблема в том, что я не знаю, как сделать следующий шаг для разделения каждого пользовательского данных - я хочу, чтобы каждый пользователь мог только изменять свои собственные данные и ничего не показывать, пока они не войдут в систему.
Единственное, что я мог подумать, это изменить URL-адрес firebase, который я использую, чтобы отделить FirebaseArrays, который я использую, но это кажется супер хакированным и не работает, когда я его пробовал.
Как я могу использовать уникальные uids для создания отдельных индивидуальных данных пользователя?
Таким образом, каждый пользователь будет иметь уникальный идентификатор в таблице авторизации, к которой вы не можете напрямую обращаться (в том случае, когда вы не можете добавлять таблицы - firebase блокирует его по соображениям безопасности)
Это все еще позволяет разделить на основе идентификатора. Там будет, по сути, массив книг, вы можете добавить массив пользователей в каждую книгу, но это может стать излишним. Я считаю, что лучшим решением будет создание массива user_books
. Это отобразит всех пользователей по идентификатору, имеющим книги, с идентификатором 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
с выбранными пользователями (ами), связанными с книгой