Google App Engine получает доступ к базе данных firebase в другом проекте - PullRequest
0 голосов
/ 06 мая 2020

У меня есть механизм настройки приложения и база данных firebase в PROJECT A , ядро ​​приложения использует учетные данные по умолчанию и может получить доступ к базе данных firebase в PROJECT A , однако движку приложения также необходимо вызвать

verifyIdToken()

для проверки пользователя в ПРОЕКТЕ B .

Как лучше всего подходить к этому?

  1. Я могу загрузить учетные данные firebase из PROJECT B и использовать для этого firebase admin sdk, но это кажется излишним, потому что мне нужно только проверить токен использования .

  2. Настройте IAM-разрешение firebase в PROJECT B для движка приложения из PROJECT A , чтобы он мог получить доступ к firebase, теоретически, но в этом случай, как движок приложения получает учетные данные от firebase в PROJECT B ? Определенно не учетные данные по умолчанию, верно?

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Нашел решение

using_a_service_account_id

и

Ответ из другого сообщения

После настройки роль и политика IAM в проекте B с помощью аккаунта A, просто выполните

projectB_firebase = firebase_admin.initialize_app(options={
    "serviceAccountId": "firebase-adminsdk-xxxxxxx@[projectb].iam.gserviceaccount.com"
}, name="projectB")
0 голосов
/ 06 мая 2020

Вы можете добавить необходимые роли из проекта B в учетную запись службы, используемую Cloud Functions (это будет <project-a>@appspot.gserviceaccount.com). Вы можете сделать это, посетив консоль Google Cloud IAM в проекте B и назначив роли соответствующим образом.

После этого вы сможете использовать учетные данные по умолчанию для авторизации запросов для проекта B.

Примечание: Здесь есть нюанс, и я не пробовал это напрямую, но теоретически это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...