my AWS API-Gateway is configured as Lambda Proxy. In Lambda i added the following Headers:
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': '*',
'Access-Control-Allow-Headers': 'Content-Type,X-Amz-Date,Authorization,X-Api-Key'
First, everythink works fine with it. Now i added an Authorizer with CognitoUserPool and i get the following Error:
XMLHttpRequest cannot load https://xxx.eu-west-1.amazonaws.com/xxx/xxx. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. The response had HTTP status code 401.
I think the problem is, that with Authentication my Lambdafunction is not invoked and so no Headers were set. I call the Endpoint from an Angular2 Application with
const headers = new Headers();
headers.append('Authorization', 'authtoken');
http.get('address...', headers);
But the headers were not set/append to the request because of any CORS-reasons i think.
Anyone an idea how can i solve this?
P.S.: I tried the "Enable Cors" feature of API-Gateway but that does not work.
Edit: I also have a "OPTIONS" Method in Gateway with Authentication, that responds with the Headers above.
Greetings