Transloadit и Firebase

Я занимаюсь разработкой приложения для Angular & Firebase и хочу избежать какой-либо поддержки за пределами Firebase. Документы не рекомендуют хранить изображения в Firebase, поэтому я хотел использовать Trasnloadit для сохранения изображений. Есть ли способ безопасно использовать Transloadit для отправки изображений непосредственно из моего приложения Angular или экземпляра Firebase?

1 ответ

Хотя это старый вопрос, все же стоит изучить возможное решение вашего вопроса. Если вы хотите безопасно отправлять данные с помощью Transloadit, возможно, вы захотите изучить возможность создания подписи . Аутентификация подписи работает в обоих направлениях, поэтому вы можете дважды проверить с помощью Firebase, что источник файла аутентифицирован, однако вам необходимо убедиться, что вы выполняете эту работу на стороне сервера. К счастью, Transloadit упрощает создание подписи:

  1. Вы хотите создать объект для замены поля параметров в вашей сборке.
      {
  "auth": {
    "key": "23c96d084c744219a2ce156772ec3211",
    "expires": "2021/01/31 16:53:14+00:00",
    // This could also contain your template ID if you're not defining your steps here
  },
  "steps": { ... }
}
  1. Далее вам нужно преобразовать это в JSON, для этого вы можете использовать JSON.stringify()|
  2. Теперь, чтобы сделать это шестнадцатеричной подписью HMAC, совместимой с RFC 2104, вы можете использовать библиотеку, такую ​​​​как CryptoJS.
      signature = CryptoJS.HmacSHA256(message, auth_secret).toString(CryptoJS.enc.HEX);

Далее для отправки файла в GCS можно использовать робота /google/store .Так, например, вы можете добавить этот фрагмент в свой шаблон:

      "exported": {
  "use": [
    ":original",
    ...
  ],
  "robot": "/google/store",
  "credentials": "YOUR_GOOGLE_CREDENTIALS"
}

Этот робот также обладает свойством acl- который определяет разрешения, которые имеет файл. По умолчанию это public-readно у вас есть несколько вариантов, включая: authenticated-read, bucket-owner-full-control, private, project-private.

Другие вопросы по тегам