Ich bin neu im Schreiben von Rails und APIs. Ich benötige Hilfe bei der S3-Speicherlösung. Hier ist mein Problem.
Ich schreibe eine API für eine iOS-App, bei der sich die Benutzer mit der Facebook-API unter iOS anmelden. Der Server überprüft den Benutzer anhand der von Facebook an den iOS-Benutzer ausgegebenen Token und stellt ein temporäres Sitzungstoken aus. Ab diesem Zeitpunkt muss der Benutzer Inhalte herunterladen, die in S3 gespeichert sind. Dieser Inhalt gehört nur dem Benutzer und einer Teilmenge seiner Freunde. Dieser Benutzer kann S3 weitere Inhalte hinzufügen, auf die dieselbe Gruppe von Personen zugreifen kann. Ich denke, es ist ähnlich wie das Anhängen einer Datei an eine Facebook-Gruppe ...
Es gibt zwei Möglichkeiten, wie ein Benutzer mit S3 interagieren kann: Überlassen Sie es dem Server oder veranlassen Sie den Server, ein temporäres S3-Token auszustellen (nicht sicher, welche Möglichkeiten hier bestehen), und der Benutzer kann die Inhalts-URLs direkt an S3 abrufen. Ich fand diese Frage über die Ansätze, aber sie ist wirklich veraltet (vor 2 Jahren): Architektur- und Designfrage zum Hochladen von Fotos von der iPhone App und S3
Also die Fragen:
- Gibt es eine Möglichkeit, einen Benutzer auf den Zugriff auf nur einige Inhalte in S3 zu beschränken, wenn ein temporäres Token ausgegeben wird? Wie kann ich das machen? Angenommen, es gibt ... sagen wir 100.000 oder mehr Benutzer.
- Ist es eine gute Idee, das iOS-Gerät diesen Inhalt direkt abrufen zu lassen?
- Oder sollte der Server alle Inhalte steuern lassen (dies löst natürlich die Sicherheit)? Bedeutet dies, dass ich alle Inhalte auf den Server herunterladen muss, bevor ich sie an die verbundenen Benutzer weitergebe?
- Wenn Sie Schienen kennen ... kann ich Büroklammern und aws-sdk-Edelsteine verwenden, um dieses Setup zu erreichen?
Ich entschuldige mich für mehrere Fragen und freue mich über jeden Einblick in das Problem. Vielen Dank :)