Функция Firebase прослушивает проект A, записывает в проект B

#firebase #google-cloud-functions #firebase-admin

#firebase #google-cloud-функции #firebase-администратор

Вопрос:

У меня есть два проекта Firebase, A и B. Когда пользователь следует за другим пользователем в проекте A, данные записываются /followers/{followedUid}/{followerUid} . Я хотел бы выполнить это же обновление для проекта B.

Пользователи проекта A не имеют (не могут быть) права на запись в проект B, поэтому мне нужно использовать облачную функцию. Я уже делаю подобные вещи с Node.js функции и firebase-администрирование с использованием учетных записей служб, но здесь я хочу использовать функцию, развернутую в Firebase.

Как я могу добавить или ссылаться на учетную запись службы или иным образом авторизовать второй проект в облачной функции Firebase?

Ответ №1:

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

Вам нужно будет инициализировать Admin SDK с учетными данными (в виде файла JSON, который вы развертываете вместе с кодом) для проекта B, а затем использовать его для записи данных.

Также смотрите Документацию Firebase по инициализации Admin SDK.

Комментарии:

1. да, но как? В моих функциях узла я могу указать что-то вроде: const secondaryServiceAccount = require(‘/ path/to/service/ account’) Где в этом случае будет находиться учетная запись службы? Спасибо.

2. Вы бы развернули этот файл учетных данных с помощью своих облачных функций, просто поместив файл в тот же каталог. Затем вы можете загрузить его с помощью `require(./ProjectB-svcact.json’).

3. Звучит неплохо, я попробую! Очевидно, я думаю … еще раз спасибо