Я исследую это в течение нескольких часов и боюсь, что уже знаю ответ, но я надеюсь, что гении могут знать что-то, что мне еще предстоит открыть. (Скрещенные пальцы)
НАСТРОЙКА
Я создаю приложение для чата, используя Ionic 1 и Firebase. Это означает, что я могу взаимодействовать с Firebase через REST API. Это частный чат, поэтому все передаваемые данные должны храниться в безопасности.
Я разрешаю пользователям загружать изображения и решил воспользоваться новой функцией хранения Firebase. Фигурные файлы туда лучше подходят.
Я могу успешно загружать изображения и извлекать их с помощью API хранилища ... УРА (спасибо Firebase)
ПРОБЛЕМА
Поскольку я работаю в мире REST, я обращаюсь к изображениям через URL-адрес (используя getDownloadURL в ссылке на файл). Созданный URL-адрес является общедоступным (но его невозможно угадать). Публичный характер этого URL-адреса - мое текущее падение :(
Я знаю, что URL-адрес разработан так, чтобы его нельзя было угадать, И если все остальное не удается, я могу зайти в консоль, чтобы отозвать URL-адрес, я надеюсь, что есть какой-то способ для защиты контента пользователей с помощью чего-то большего, чем обфускация.
СПРОСИТЕ или НАДЕЖДА
- Есть ли способ создавать чувствительные ко времени URL-адреса (возможно, с использованием правил безопасности)
- Есть ли способ создать условные URL-адреса, срок действия которых истекает после одной "загрузки"
- Есть ли способ загрузить контент как base64, аналогичный моментальным снимкам db
- Есть ли что-то, о чем я не думаю, что может решить эту проблему?
ТЕКУЩИЕ МЫСЛИ
- Будьте осторожны и верьте, что URL-адреса будут безопасными
- Храните изображения как строку base64 в самой БД (я действительно хочу избежать этого, поскольку обычно это не одобряется)
Заранее благодарим за ваши предложения и рекомендации