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

Использую библиотеку REST Assured для тестирования POST и GET запросов на Amazon API Gateway. Для авторизации на стороне Амазона нужно подписывать риквесты следующим образом Create a signed AWS API request - AWS Identity and Access Management. Использую класс 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.