Я новичок в написании 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 для достижения такой настройки?
Приносим извинения за несколько вопросов, и я ценю любое понимание проблемы. Благодарность :)