我試圖向S3發送多部分表單請求,並根據S3 documentation我可以將授權標頭中或查詢字符串中的簽名信息添加到請求中。對我來說,授權標題看起來更直接。S3 swift中的授權標頭
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east 1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7
在雨燕,就這僅僅是全部一個字符串,如:
request.setValue("AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east 1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7", forHTTPHeaderField: "Authorization")
謝謝,我已經非常的文檔中丟失。頁面頂部的樣本與頁面底部的樣本之間有什麼區別?我注意到頂部樣本有一個到期,而底部沒有。 – Brosef
查詢字符串(底部)需要過期合併到其中,有用的情況下,如果你想公開URL(授權用戶),並希望它在一段特定時間內有效,有效值範圍從1秒到7天。一旦設置,過期不能被篡改,或者簽名失效。授權(頂部)被假定爲您在簽名後立即使用的機制,因此該方法在包含的時間戳的任一側都有效15分鐘。這兩種機制在計算上都不可行,以反向工程或篡改。 –
我有點困惑。我認爲在你的回答中,你說授權標題和查詢字符串不適用於上傳。您提供的鏈接如何顯示上傳兩種樣式的實施情況? – Brosef