Sono nuovo nello scrivere Rails e API. Ho bisogno di aiuto con la soluzione di archiviazione S3. Ecco il mio problema.
Sto scrivendo un'API per un'app iOS in cui gli utenti accedono con l'API di Facebook su iOS. Il server convalida l'utente rispetto ai problemi del token Facebook per l'utente iOS ed emette un token di sessione temporaneo. Da questo punto l'utente deve scaricare i contenuti archiviati in S3. Questo contenuto appartiene solo all'utente e a un sottoinsieme dei suoi amici. Questo utente può aggiungere più contenuti a S3 a cui possono accedere lo stesso gruppo di persone. Immagino sia simile ad allegare un file a un gruppo Facebook ...
Ci sono 2 modi in cui un utente può interagire con S3 ... lasciarlo al server o convincere il server a emettere un token S3 temporaneo (non sono sicuro delle possibilità qui) e l'utente può raggiungere gli URL del contenuto direttamente su S3. Ho trovato questa domanda che parlava degli approcci, tuttavia, è davvero datata (2 anni fa): domanda architettonica e di design sul caricamento di foto dall'app per iPhone e S3
Quindi le domande:
- C'è un modo per limitare un utente ad accedere solo ad alcuni contenuti su S3 quando viene emesso un token temporaneo? Come posso fare questo? Supponiamo che ci siano ... diciamo 100.000 o più utenti.
- È una buona idea lasciare che il dispositivo iOS estragga direttamente questo contenuto?
- O dovrebbe lasciare che il server controlli tutto il passaggio dei contenuti (questo ovviamente risolve la sicurezza)? Questo significa che devo scaricare tutto il contenuto sul server prima di consegnarlo agli utenti connessi?
- Se conosci i binari ... posso usare graffetta e gemme aws-sdk per ottenere questo tipo di configurazione?
Mi scuso per molteplici domande e apprezzo qualsiasi approfondimento sul problema. Grazie :)