Je suis nouveau dans l'écriture de Rails et d'API. J'ai besoin d'aide avec la solution de stockage S3. Voici mon problème.
J'écris une API pour une application iOS où les utilisateurs se connectent avec l'API Facebook sur iOS. Le serveur valide l'utilisateur contre les problèmes de jeton Facebook à l'utilisateur iOS et émet un jeton de session temporaire. À partir de ce moment, l'utilisateur doit télécharger le contenu stocké dans S3. Ce contenu n'appartient qu'à l'utilisateur et à un sous-ensemble de ses amis. Cet utilisateur peut ajouter plus de contenu à S3 qui peut être consulté par le même groupe de personnes. Je suppose que c'est similaire à joindre un fichier à un groupe Facebook ...
Il existe 2 façons pour un utilisateur d'interagir avec S3 ... laisser le serveur au serveur ou demander au serveur d'émettre un jeton S3 temporaire (pas sûr des possibilités ici) et l'utilisateur peut accéder directement aux URL de contenu à S3. J'ai trouvé cette question qui parlait des approches, cependant, elle est vraiment datée (il y a 2 ans): question d' architecture et de conception sur le téléchargement de photos depuis l'application iPhone et S3
Donc les questions:
- Existe-t-il un moyen de limiter l'accès d'un utilisateur à certains contenus sur S3 lorsqu'un jeton temporaire est émis? Comment puis-je faire ceci? Supposons qu'il y ait ... disons 100 000 utilisateurs ou plus.
- Est-ce une bonne idée de laisser l'appareil iOS extraire ce contenu directement?
- Ou devrait-il laisser le serveur contrôler tout le contenu qui passe (cela résout la sécurité bien sûr)? Cela signifie-t-il que je dois télécharger tout le contenu sur le serveur avant de le transmettre aux utilisateurs connectés?
- Si vous connaissez les rails ... puis-je utiliser des trombones et des gemmes aws-sdk pour réaliser ce genre de configuration?
Toutes mes excuses pour plusieurs questions et j'apprécie tout aperçu du problème. Merci :)