フロントエンドとして反応するSPAを構築し、サーバーレス(AWSラムダ)フレームワークにはバックエンドがあります。
React アプリは S3 にデプロイされています。このアプリは、AWS API Gateway を介してラムダ関数 (サーバーレス) と通信します。
S3 ドメインとバックエンド (AWS API Gateway、AWS ラムダ、DynamoDB) にある反応アプリは別のドメインにあるためです。CORS の問題が発生します。
CORS の問題を修正するために、Access-Control-Allow-Originヘッダーを反応アプリのドメイン URLとしてハードコーディングしました。したがって、バックエンドは発信元が既知のソースからのものであることを理解し、origin-CORS エラーを解決します。
ただし、リクエストのCookieにアクセスするには、「Access-Control-Allow-Credentials」と呼ばれる別のヘッダーがtrueである必要があります。
IF Access-Control-Allow-Originが "*" の場合、プライバシーの懸念からAccess-Control-Allow-Credentialsをfalseにする必要があります。
そのため、Access-Control-Allow-OriginをReact の domainに設定した場合、Access-Control-Allow-Credentialsは trueになる可能性があります。
API ゲートウェイの応答メソッドと統合の応答メソッドにAccess-Control-Allow-Credentialsヘッダーを追加しました。問題は、応答としてクライアント側でAccess-Control-Allow-Credentialsヘッダーを取得していないことです。これ以外のすべてのヘッダーを取得しています。API Gateway コンソールをテストするとヘッダーが表示されますが、postman とブラウザーでテストすると、上記のヘッダーが表示されません。
しかし、AWS API Gateway をテストすると、これが得られます。
問題は、Access-Control-Allow-Credentialsヘッダーがブラウザーとポストマンで応答として取得されず、AWS API Gateway コンソールでテストすると表示されることです。何が問題なのですか?