2016-08-09 135 views
0

我上iOS應用工作訪問文件,而我們最近使用Amazon S3的開始了,我不知道在哪裏可以找到這個問題的信息。亞馬遜S3防止網址

我們使用S3來存儲個人資料照片。我們希望能夠下載任何用戶的個人資料照片並將其顯示在應用程序中。我們正在做的是使用獨特的profile ID創建密鑰並將圖像上傳到服務器。然後,我們可以構建相同的URL給出配置文件ID,並將配置文件圖像下載到應用程序中。

但是,人們擔心人們會找出網址,並且只需更改URL的profile ID組件即可查看我們所有用戶的個人資料圖像。建議是散列密鑰,然後將它發送到S3,但我們需要能夠從多個平臺(iOS,Android,其他應用程序等)創建相同的散列來下載圖像。

解決方案是將密鑰發送到服務器,並讓它發回散列響應,然後開始使用散列密鑰上傳。這似乎很愚蠢。如果我們想要在應用程序中下載用戶的個人資料照片,我們必須獲取他們的用戶ID,然後獲取散列,然後我們才能最終請求圖像。

我覺得應該有一種方法可以讓我們安全地從我們的網站/應用程序上傳和下載圖像,但不允許未經身份驗證的用戶瀏覽服務器上的所有圖像。然而,我一直沒有弄清楚最佳做法,我希望有人能指出我的正確方向。

回答

0

我假設有一個額外的API用於其他信息,如用戶信息或帖子,或任何應用程序的用途?您是否可以在該請求中返回端點的基於時間的到期URL? S3支持在特定時間到期的鏈接,例如從現在開始5分鐘或在24小時內。有人必須找出API的路徑/端點,應用程序中使用的令牌,然後通過猜測配置文件ID來最終下載圖像。