t.me/atinfo_chat Telegram группа по автоматизации тестирования

Signed AWS request для метода GET в REST Assured

Теги: #<Tag:0x00007f74897ae068> #<Tag:0x00007f74897adf78>

Использую библиотеку REST Assured для тестирования POST и GET запросов на Amazon API Gateway. Для авторизации на стороне Амазона нужно подписывать риквесты следующим образом http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html. Использую класс AWS4Signer из AWS SDK. Для методов POST всё работает - подписываю риквест методом sign, который добавляет headers, потом эти headers подставляю в риквест REST Assured. Для метода GET использую preSignRequest который генерит URL с параметрами. Подставляю эту URL в Postman и всё работает, однако в REST Assured приходит респонс 403 Forbidden IncompleteSignatureException.

Может кто использовал GET запросы REST Assured с Amazon Web Services?

1 Симпатия

А хидеры добавляете к GET запросу? Скорее всего должны быть те же что и для POST. Я не работал с Amazon SDK, но возможно методом sign можно подписать и GET запрос, сгенерив хидеры для него?
Можно попробовать костылем - сделать POST запрос, сгенерить хидеры, подставить хидеры в аналогичный GET запрос. Информация в секюр токене вроде не зависит от типа запроса.

1 Симпатия

Спасибо за ответ. Действительно помогло использование sign метода и добавлении хидеров, как при методе POST. Не использовал signed URL.