2016-09-22 2 views
0

Я пытаюсь отправить запрос на множественную форму на 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

В Swift, будет это просто все одна строка, как:

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") 

ответ

0

Ни Authorization: заголовка ни строки запроса, можно сказать, что особенно «более простым», так как они по существу построенный из той же информации (кроме добавления X-Amz-Expires и необходимого добавления логики истечения к коду подписи, как требуется в строке запроса) ... но ни одна из этих опций не применима здесь.

При использовании формы - которая выполняется только при выполнении загрузки, поэтому я предполагаю, что это то, что вы делаете, - информация о подписании предоставляется в виде параметров формы.

См http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html

+0

Спасибо, я очень потерял в документации. В чем разница между образцом в верхней части страницы и показанным в нижней части страницы? Я заметил, что верхний образец имеет истечение, а нижний - нет. – Brosef

+0

Строка запроса (внизу) требует истечения срока ее действия, полезная в случае, если вы хотите выставить URL-адрес (авторизованному пользователю) и хотите, чтобы он был действительным в течение определенного периода времени, с допустимыми значениями от 1 секунды до 7 дней , После установки срок действия не может быть изменен или подпись недействительна. Предполагается, что авторизация (сверху) является механизмом, который вы используете сразу после подписания, так что этот метод действителен в течение 15 минут с каждой стороны включенной метки времени. Оба механизма являются вычислительно неоправданными для обратного проектирования или вмешательства в работу. –

+0

Я немного смущен. Я думал, что в вашем ответе вы сказали, что заголовок авторизации и строка запроса не применимы для загрузки. Как появилась ссылка, которую вы указали, показывает реализацию обоих стилей для загрузки? – Brosef

Смежные вопросы