Как динамически добавлять токены доступа в каждую папку в Firebase? - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть приложение, в котором, в зависимости от группы, к которой принадлежит пользователь, он может обращаться к разным файлам, которые разбросаны по разным папкам, но идентифицируются с помощью набора идентификаторов.

Например, представьте, чтоУ меня есть группа 1, пользователи которой могут получить доступ к «файлам банковского счета» 1, 2 и 3, и группа 2, пользователи которой могут получить доступ к «файлам банковского счета» 4 и 5. Затем у меня есть следующая структура папок:

.
+-- bank_registration_files
|   +-- 1
|   |    +-- *some files*
|   +-- 2
|   |    +-- *some files*
|   +-- 3
|   |    +-- *some files*
|   +-- 4
|   |    +-- *some files*
|   +-- 5
|   |    +-- *some files*
+-- bank_transaction_files
|   +-- 1
|   |    +-- *some files*
|   +-- 2
|   |    +-- *some files*
|   +-- 3
|   |    +-- *some files*
|   +-- 4
|   |    +-- *some files*
|   +-- 5
|   |    +-- *some files*

Таким образом, если, например, аутентифицирован пользователь, принадлежащий к группе 1, он должен иметь доступ только к файлам в папках 1, 2 и 3.

Связь междупользователи и группы, а также между группами и идентификаторами доступных банковских счетов, есть в бэкэнде.

Итак, моя идея заключается в создании правил доступа для каждой папки, где, например, для доступа к папкам 1, 2 и3, пользователь должен иметь собственный токен, который имеет хеш, созданный из идентификатора группы.Я мог бы добавить эти правила папку за папкой, предоставив соответствующий хеш.

Проблема в том, что Мне нужно сделать это динамически , потому что группы, банковские счета и пользователи все создаются динамически вприменение.Таким образом, точно так же, как я могу использовать API для добавления пользовательского токена пользователю firebase, мне также нужно добавить пользовательский токен в каждую папку и написать пользовательское правило, которое сравнивает эти токены.

Каксделать это в firebase?

Любые другие решения этой проблемы, используя другие пути, также приветствуются.Итак, мне нужно создать логику доступа для каждой папки, соединяясь с моим бэкэнд-приложением!Это Python Flask, если это поможет.

...