Я новичок в написании Rails и API. Мне нужна помощь в решении S3. Вот моя проблема.
Я пишу API для приложения iOS, где пользователи вступают в систему с API Facebook на iOS. Сервер проверяет пользователя на проблемы с токеном Facebook для пользователя iOS и выдает временный токен сеанса. С этого момента пользователю необходимо загрузить контент, который хранится в S3. Этот контент принадлежит только пользователю и подмножеству его друзей. Этот пользователь может добавить больше контента на S3, к которому можно получить доступ той же группой людей. Я думаю, это похоже на прикрепление файла к группе Facebook...
Существует два способа взаимодействия пользователя с S3: оставить его на сервере или заставить сервер выпустить временный токен S3 (не уверены в возможностях здесь), и пользователь может напрямую набирать URL-адреса контента к S3. Я нашел этот вопрос, говорящий о подходах, однако он действительно устарел (2 года назад): Архитектурный вопрос и вопрос о загрузке фотографий с iPhone-приложения и S3
Итак, вопросы:
- Есть ли способ ограничить доступ пользователей к некоторому контенту на S3 при выдаче временного токена? Как я могу это сделать? Предположим, что есть... скажем, 100 000 или более пользователей.
- Можно ли позволить устройству iOS напрямую вытащить этот контент?
- Или должен ли сервер контролировать весь контент, проходящий (это, конечно, решает проблему)? Означает ли это, что мне нужно загрузить весь контент на сервер, прежде чем передавать его подключенным пользователям?
- Если вы знаете рельсы... могу ли я использовать paperclip и aws-sdk gems для достижения этой настройки?
Извините за несколько вопросов, и я ценю любое понимание проблемы. Спасибо:)