閱讀871 返回首頁    go 阿裏雲 go 技術社區[雲棲]


基於OSS的移動開發__接入OSS_開發人員指南_對象存儲 OSS-阿裏雲

開發架構圖

典型的基於OSS的移動開發有四個組件:

  • OSS:提供上傳、下載、上傳回調等功能。
  • 開發者的移動客戶端(App或者網頁應用),簡稱客戶端:通過開發者提供的服務,間接使用OSS。
  • 應用服務器:客戶端交互的服務器。也是開發者的業務服務器。
  • 阿裏雲STS:頒發臨時憑證。

最佳實踐:

開發業務流程

臨時憑證授權的上傳

如圖所示:

  1. 客戶端向應用服務器發出上傳文件到OSS的請求。
  2. 應用服務器向STS服務器請求一次,獲取臨時憑證。
  3. 應用服務器回複客戶端,將臨時憑證返回給客戶端。
  4. 客戶端獲取上傳到OSS的授權(STS的AccessKey以及Token),調用OSS提供的移動端SDK上傳。
  5. 客戶端成功上傳數據到OSS。如果沒有設置回調,則流程結束。如果設置了回調功能,OSS會調用相關的接口。

這裏有幾個要點:

  • 客戶端不需要每次都向應用服務器請求授權,在第一次授權完成之後可以緩存STS返回的臨時憑證直到超過失效時間。
  • STS提供了強大的權限控製功能,可以將客戶端的訪問權限限製到Object級別,從而可以實現不同客戶端在OSS端上傳的Object的完全隔離,極大的提高了安全係數。

更多信息請參見 授權給第三方上傳

簽名URL授權的上傳和表單上傳

如圖所示:

  1. 客戶端向應用服務器發出上傳文件到OSS的請求。
  2. 應用服務器回複客戶端,將上傳憑證(簽名URL或者表單)返回給客戶端。
  3. 客戶端獲取上傳到OSS的授權(簽名URL或者表單),調用OSS提供的移動端SDK上傳或者直接表單上傳。
  4. 客戶端成功上傳數據到OSS。如果沒有設置回調,則流程結束。如果設置了回調功能,OSS會調用相關的接口。

更多信息請參見 授權給第三方上傳

臨時憑證授權的下載

跟臨時憑證授權的上傳過程類似:

  1. 客戶端向應用服務器發出下載OSS文件的請求。
  2. 應用服務器向STS服務器請求一次,獲取臨時憑證。
  3. 應用服務器回複客戶端,將臨時憑證返回給客戶端。
  4. 客戶端獲取下載OSS文件的授權(STS的AccessKey以及Token),調用OSS提供的移動端SDK下載。
  5. 客戶端成功從OSS下載文件。

這裏有幾個要點:

  • 和上傳類似,客戶端對於臨時憑證也可以進行緩存從而提高訪問速度。
  • STS同樣也提供了精確到Object的下載權限控製,和上傳權限控製結合在一起可以實現各移動端在OSS上存儲空間的完全隔離。

簽名URL授權的下載

跟簽名URL授權的上傳類似:

  1. 客戶端向應用服務器發出下載OSS文件的請求。
  2. 應用服務器回複客戶端,將簽名URL返回給客戶端。
  3. 客戶端獲取下載OSS文件的授權(簽名URL),調用OSS提供的移動端SDK下載。
  4. 客戶端成功從OSS下載文件。

特別注意

客戶端不能存儲開發者的AccessKey,隻能獲取應用服務器簽名的URL或者是通過STS頒發的臨時憑證(也就是STS的AccessKey和Token)。

最佳實踐

功能使用參考

最後更新:2016-11-23 16:04:09

  上一篇:go 訪問域名和數據中心__開發人員指南_對象存儲 OSS-阿裏雲
  下一篇:go 設置存儲空間讀寫權限(ACL)__管理存儲空間_開發人員指南_對象存儲 OSS-阿裏雲