Как получить uid аутентифицированного пользователя Firebase в триггере хранилища Cloud Functions - PullRequest
0 голосов
/ 04 июля 2018

Справочная информация: Я использую облачные функции Firebase, новую базу данных Firestore и корзину хранения с клиентом Android.

Чего я хочу достичь: Когда пользователь загружает изображение в хранилище, я хочу использовать облачные функции, чтобы получить путь к файлу / ссылку на местоположение изображения в хранилище и сохранить эту строку в качестве нового документа в новой коллекции под названием «картинки» под в данный момент залогинен в пользовательском документе в Firestore.

Таким образом, я могу видеть изображения, загруженные каждым пользователем непосредственно в Firestore, и это упрощает передачу изображений конкретного пользователя в клиент Android.

То, что я до сих пор выполнил: 1. Когда пользователь входит в систему в первый раз, он создает документ пользователя в новой базе данных Firestore. 2. Зарегистрированный пользователь может загрузить изображение в корзину. 3. Используя Firebase Cloud Functions, мне удалось получить путь к файлу / ссылку на место хранения следующим образом:

/**
 * When a user selects a profile picture on their device during onboarding,
 * the image is sent to Firebase Storage from a function running on their device. 
 * The cloud function below returns the file path of the newly uploaded image. 
 */
exports.getImageStorageLocationWhenUploaded = functions.storage.object().onFinalize((object) => {
  const filePath = object.name; // File path in the bucket.
  const contentType = object.contentType; // File content type.

  // Exit if this is triggered on a file that is not an image.
  if (!contentType.startsWith('image/')) {
    console.log('This is not an image.');
    return null;
  }
console.log(filePath);
});

Вопрос: Как получить зарегистрированного пользователя и сохранить путь к файлу / ссылке для загруженного изображения этого пользователя в качестве нового документа в документах этого пользователя в базе данных Firestore с использованием облачных функций?

1 Ответ

0 голосов
/ 04 июля 2018

В настоящее время с помощью триггеров Cloud Storage у вас нет доступа к аутентифицированной информации пользователя. Чтобы обойти это, вам нужно будет сделать что-то вроде вставки uid в путь к файлу или добавить uid в качестве метаданных при загрузке файла.

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