Мы хотели бы использовать Firepad в нашем (главным образом, не в Firebase) проекте, но у нас есть некоторые проблемы, которые определяют лучший способ подойти к проблеме.Firebase JSON Security and Arrays
В принципе, у нас есть много пользователей, и каждый пользователь может быть членом многих групп. Эти «группы» имеют свой собственный Firepad, который пользователи могут редактировать. У нас уже есть глубокая структура базы данных, использующая MySQL, и мы не хотим сейчас перенести наши пользовательские данные в Firebase, поэтому мы решили, что получим более творческий подход.
Мы не хотим, чтобы пользователи могли редактировать Firepads групп, к которым они не принадлежат. Таким образом, как часть нашего токена аутентификации, мы решили, что мы попытаемся отправить по идентификатору пользователя и списку групп, к которым они принадлежат. Затем, используя систему безопасности Firebase JSON, мы можем проверить, что редактируемый Firepad находится в списке групп, к которым принадлежит пользователь.
Проблема в том, что система JSON, похоже, не принимает много команд. Нет indexOf, и я не могу назвать hasChild
переменной auth
.
Как мы можем гарантировать, что пользователи могут редактировать только Firepads групп, к которым они принадлежат, без переноса всех наших данных в Firebase? (Или сохранение двух копий базы данных - одна на MySQL и одна на Firebase)
Бинго. Вероятно, я должен был подумать об этом, но полезно пояснить, что доступ к элементам с квадратными скобками полезен. Спасибо! –
Майк, вы сделали какие-то улучшения в этой области? Существуют ли какие-либо документы, описывающие, какие функции доступны для переменной auth? – Samuel
@Samuel Здесь нет особых изменений. В общем, auth не имеет каких-либо функций, это всего лишь данные вашего токена аутентификации. Доступна только «функция», если у вас есть строка в ваших данных auth, есть несколько методов для подстроки/соответствия регулярных выражений и т. Д .: https://www.firebase.com/docs/security/api/string/ –