Я новачок у написанні Rails та API. Мені потрібна допомога з рішенням для зберігання S3. Ось моя проблема.
Я пишу API для програми для iOS, де користувачі входять із API Facebook на iOS. Сервер перевіряє прав користувача щодо видачі маркера Facebook користувачеві iOS та видає тимчасовий маркер сеансу. З цього моменту користувачеві потрібно завантажити вміст, який зберігається в S3. Цей вміст належить лише користувачеві та підмножині його друзів. Цей користувач може додати більше вмісту до S3, до якого може отримати доступ та сама група людей. Я думаю, це схоже на приєднання файлу до групи у Facebook ...
Є два способи взаємодії користувача з S3 ... залишити його на сервері або змусити сервер видати тимчасовий маркер S3 (не впевнений у можливостях тут), і користувач може потрапити на URL-адреси вмісту безпосередньо до S3. Я виявив, що це питання говорить про підходи, однак воно справді датується (2 роки тому): Архітектурне та дизайнерське питання щодо завантаження фотографій із програми iPhone та S3
Отже, питання:
- Чи є спосіб обмежити користувача доступу до лише деякого вмісту на S3, коли видається тимчасовий маркер? Як я можу це зробити? Припустимо, що ... скажімо, 100 000 або більше користувачів.
- Це гарна ідея дозволити пристрою iOS безпосередньо витягувати цей вміст?
- Або повинен дозволити серверу контролювати весь вміст, що передається (це вирішує безпеку, звичайно)? Чи означає це, що я маю завантажити весь вміст на сервер, перш ніж передавати його підключеним користувачам?
- Якщо ви знаєте рейки ... чи можу я скористатися скріпкою та дорогоцінними каменями aws-sdk для досягнення такої якості?
Вибачте за багато питань, і я вдячний за будь-яке розуміння проблеми. Дякую :)