Amazon Cognito と Amazon API Gateway の統合を作成してトラブルシューティングしたいと考えています。
API Gateway REST API または API Gateway HTTP API でオーソライザーを作成してトラブルシューティングするには、次の手順を実行します。
Amazon Cognito オーソライザーの作成
REST API 用のオーソライザーを作成するには、「Amazon Cognito ユーザープールを API Gateway REST API に対するオーソライザーとして設定する方法を教えてください」を参照してください。
Amazon Cognito オーソライザーのトラブルシューティング
Amazon Cognito の承認者は、認証に ID トークンまたはアクセストークンを使用します。4xx エラーが発生した場合は、API Gateway コンソールで [OAuth スコープ] オプションが誤って設定されています。
認証に ID トークンを使用するには、[OAuth スコープ] オプションを空白のままにします。認証にアクセストークンを使用するには、[OAuth Scopes] を設定します。詳細については、「REST API を Amazon Cognito ユーザープールと統合する」を参照してください。
401 Unauthorized エラーをトラブルシューティングするには、「Amazon Cognito ユーザープールをセットアップした後に API Gateway REST API エンドポイントで発生する "401 Unauthorized" エラーをトラブルシューティングする方法を教えてください」を参照してください。
HTTP 500 内部エラーをトラブルシューティングするには、ユーザープールのトークン生成前の AWS Lambda トリガーの設定を確認してください。Lambda トリガーの実行に失敗すると、ユーザープールエンドポイントは ID トークンを返すことができず、HTTP 500 エラーが発生します。詳細については、「Lambda トリガーでユーザープールワークフローをカスタマイズする」を参照してください。
Lambda オーソライザーの作成
REST API 用の API Gateway Lambda オーソライザーを作成するには、「API Gateway Lambda オーソライザーを作成する手順」を参照してください。
**Lambda オーソライザーのトラブルシューティング **
401 Unauthorized エラーをトラブルシューティングするには、「Lambda オーソライザーを作成した後に API Gateway で 401 Unauthorized エラーが表示される理由を教えてください」を参照してください。
JWT オーソライザーの作成
JSON Web トークン (JWT) オーソライザーを作成するには、JWT を発行する ID プロバイダーを設定します。JWT オーソライザーをルートにアタッチした後、クライアントは ID プロバイダーの JWT を API リクエストに含める必要があります。API Gateway は JWT の要求を検証し、その検証に基づいてリクエストを許可または拒否します。詳細については、「JWT オーソライザーで HTTP API へのアクセスを制御する」を参照してください。
JWT オーソライザーのトラブルシューティング
JWT オーソライザーエラーのトラブルシューティングについては、「HTTP API JWT オーソライザーに関する問題のトラブルシューティング」および「JWT オーソライザーを使用して API Gateway HTTP エンドポイントを保護する方法を教えてください」を参照してください。JWT を検証するには、「JSON ウェブトークンの検証」を参照してください。
HTTP API 用の API Gateway Lambda オーソライザーを作成するには、「Lambda オーソライザーの作成」を参照してください。
500 内部サーバーエラーとその他の関連エラーを解決するには、「Lambda オーソライザーのトラブルシューティング」を参照してください。