InvalidQueryStringException on AWS_IAM secured API Gateway Lambda Proxy











up vote
0
down vote

favorite












I'm passing GET parameters to an AWS API Gateway resource Endpoint ( LAMBDA_PROXY) with serverless.



The GET Parameters are in array annotation, eg. ?filter[someKey]=someValue, and the parameters are passed to the handler in the event object properly.



As soon as I try to apply an authorizer to that same endpoint (authorizer: AWS_IAM) and use Postman to send the correct Authorization info (AccesKey, SecretKey, SessionToken) with the same GET Request parameters, I'm receiving the following response:
StatusCode:
400 Bad Request
Headers:
x-amzn-ErrorType InvalidQueryStringException
Body:
{"message":null}



I couldn't find any good info on the InvalidQueryStringException from AWS.



Why are the GET request parameters properly passed to the handler without AWS_IAM authorizer but are rejected with AWS_IAM in place ?



Thank you for an insight on this.










share|improve this question
























  • PS: Testing the resource endpoint API Gateway via the AWS Console with that same query string yields a correct response...
    – Andreas Siegert
    40 mins ago















up vote
0
down vote

favorite












I'm passing GET parameters to an AWS API Gateway resource Endpoint ( LAMBDA_PROXY) with serverless.



The GET Parameters are in array annotation, eg. ?filter[someKey]=someValue, and the parameters are passed to the handler in the event object properly.



As soon as I try to apply an authorizer to that same endpoint (authorizer: AWS_IAM) and use Postman to send the correct Authorization info (AccesKey, SecretKey, SessionToken) with the same GET Request parameters, I'm receiving the following response:
StatusCode:
400 Bad Request
Headers:
x-amzn-ErrorType InvalidQueryStringException
Body:
{"message":null}



I couldn't find any good info on the InvalidQueryStringException from AWS.



Why are the GET request parameters properly passed to the handler without AWS_IAM authorizer but are rejected with AWS_IAM in place ?



Thank you for an insight on this.










share|improve this question
























  • PS: Testing the resource endpoint API Gateway via the AWS Console with that same query string yields a correct response...
    – Andreas Siegert
    40 mins ago













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I'm passing GET parameters to an AWS API Gateway resource Endpoint ( LAMBDA_PROXY) with serverless.



The GET Parameters are in array annotation, eg. ?filter[someKey]=someValue, and the parameters are passed to the handler in the event object properly.



As soon as I try to apply an authorizer to that same endpoint (authorizer: AWS_IAM) and use Postman to send the correct Authorization info (AccesKey, SecretKey, SessionToken) with the same GET Request parameters, I'm receiving the following response:
StatusCode:
400 Bad Request
Headers:
x-amzn-ErrorType InvalidQueryStringException
Body:
{"message":null}



I couldn't find any good info on the InvalidQueryStringException from AWS.



Why are the GET request parameters properly passed to the handler without AWS_IAM authorizer but are rejected with AWS_IAM in place ?



Thank you for an insight on this.










share|improve this question















I'm passing GET parameters to an AWS API Gateway resource Endpoint ( LAMBDA_PROXY) with serverless.



The GET Parameters are in array annotation, eg. ?filter[someKey]=someValue, and the parameters are passed to the handler in the event object properly.



As soon as I try to apply an authorizer to that same endpoint (authorizer: AWS_IAM) and use Postman to send the correct Authorization info (AccesKey, SecretKey, SessionToken) with the same GET Request parameters, I'm receiving the following response:
StatusCode:
400 Bad Request
Headers:
x-amzn-ErrorType InvalidQueryStringException
Body:
{"message":null}



I couldn't find any good info on the InvalidQueryStringException from AWS.



Why are the GET request parameters properly passed to the handler without AWS_IAM authorizer but are rejected with AWS_IAM in place ?



Thank you for an insight on this.







amazon-web-services aws-lambda aws-api-gateway serverless






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 1 hour ago

























asked 2 hours ago









Andreas Siegert

64




64












  • PS: Testing the resource endpoint API Gateway via the AWS Console with that same query string yields a correct response...
    – Andreas Siegert
    40 mins ago


















  • PS: Testing the resource endpoint API Gateway via the AWS Console with that same query string yields a correct response...
    – Andreas Siegert
    40 mins ago
















PS: Testing the resource endpoint API Gateway via the AWS Console with that same query string yields a correct response...
– Andreas Siegert
40 mins ago




PS: Testing the resource endpoint API Gateway via the AWS Console with that same query string yields a correct response...
– Andreas Siegert
40 mins ago

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371401%2finvalidquerystringexception-on-aws-iam-secured-api-gateway-lambda-proxy%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371401%2finvalidquerystringexception-on-aws-iam-secured-api-gateway-lambda-proxy%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

MongoDB - Not Authorized To Execute Command

How to fix TextFormField cause rebuild widget in Flutter

in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith