Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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

rest-assured
aws
Теги: #<Tag:0x00007f7b6444d568> #<Tag:0x00007f7b6444d428>

(Dmytro Degtiarov) #1

Использую библиотеку 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?


(Artur Korobeynyk) #2

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


(Dmytro Degtiarov) #3

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