前回は、Amazon Congnito で認証の設定をしました。

今回は、設定した認証を、Amazon API Gateway と連携します。

まずは、Amazon API Gatewayにアクセスします。

AWS CDK で作成した API にアクセスします。

image2

メソッドの実行まで移動します。

左メニューのオーソライザーをクリックします。

image3

『新しいオーソライザーの作成』をクリックします。

image4

名前を入力します。

タイプは、『Cognito』にしましょう。

ユーザープールは、Cognito で作成したユーザープールを選択します。

トークンのソースは、『Authorization』と入力します。

入力後、『作成』ボタンをクリックします。

image5

オーソライザーが機能しているか、テストします。

ターミナルで、以下のコードを実行します。

プール ID には、Congnito のユーザープール ID

image6

クライアント ID には、アプリクライアント ID

image7

ユーザー名には、Cognito のユーザーメールアドレス

パスワードには、Cognito のユーザーで設定したパスワード を入れます。

aws cognito-idp admin-initiate-auth --user-pool-id プールID --client-id クライアントID --auth-flow ADMIN_NO_SRP_AUTH --auth-parameters USERNAME=ユーザー名,PASSWORD=パスワード

ユーザーのアカウントステータスが『FORCE_CHANGE_PASSWORD』の場合、パスワードを設定する必要があります。

image8

classmethod 様のサイトが役に立ちました。

ターミナルで実行すると、AccessToken などが表示されます。

image9

IdToken の内容をコピーします。

オーソライザーに戻って、テストをクリックします。

認可トークンに、先程コピーした IdToken を貼り付けます。

テストをクリックすると、

image10

Response Code(応答コード): 200 が返ってきました。

image11

テストは、成功したようです。

次回は、以前作成した AWS CDK に、認証機能を追加します。

ブログ一覧