Lambda+APIGateway設定で「CORS の有効化」をオンにしたのにCORSエラーになる


「CORS の有効化」をオンにしたのに

ハマりポイント

APIGateway設定で「CORS の有効化」をオンにしているのに,

Access to XMLHttpRequest at 'https://xxxxxxx.execute-api.ap-northeast-1.amazonaws.com/xxx/xxxx' from origin 'http://xxxxx' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

とエラーが返ってくる.

解決策

Lambdaのreturnのヘッダーに以下のように,Access-Contraolについて書かなきゃダメだった.

    return {
        'isBase64Encoded': False,
        "headers": {
            "Access-Control-Allow-Origin" : "*",
            "Access-Control-Allow-Credentials": "true"
        },
        'statusCode': 200,
        'body': {}
    }