AWS マネジメントコンソールにログインし、検索ツールをクリックしてCognitoと入力し、アイテムをクリックします。
この画面が表示された場合は「新しいインターフェイスを試す」をクリックします。
※ ユーザープール の画面が表示された場合は次に進んでください
「ユーザープールを作成」をクリックします。
「Cognito ユーザープールのサインインオプション」で「E メール」にチェックを入れ「次へ」をクリックします。
ページを中段までスクロールし、「多要素認証」の項目で「MFA なし」を選択します。
ページを下までスクロールし「次へ」をクリックします。
ページを下までスクロールし「次へ」をクリックします。
「E メール」の項目で「メッセージプロバイダー」として「Cognito で E メールを送信」を選択します。
ページを下までスクロールし「次へ」をクリックします。
「ユーザープール名」の項目で「ユーザープール名」に「BuilderClass01」と入力します。
「ホストされた認証ページ」の項目で「Cognito のホストされた UI を使用」にチェックを入れます。
「ドメイン」の項目で「Cognito ドメイン」に「https://handson-<お名前>-20231010」のような現在のリージョン内で一意な値となる名前を入力します。
ここで設定するドメインは、アプリケーションから認証する際に使用される認証エンドポイントで、ユーザープール固有のものになります。
このワークショップでは「amazoncognito.com」のサブドメインを作成しますが、カスタムドメインを使用することも出来ます。
「最初のアプリケーションクライアント」の項目の「アプリケーションクライアント名」に「petstore-client」と入力します。
合わせて、「クライアントのシークレット」で「クライアントのシークレットを生成しない」が選択されていることを確認します。
「許可されているコールバックURL」に「https://localhost」と入力します。
「高度なアプリケーションクライアントの設定」をクリックし、展開します。
「OAuth 2.0 認可タイプ」で「OAuth 2.0認可タイプを選択」欄をクリックし、「暗黙的な付与」(Implicit grant)を追加します。
OpenID 接続スコープで「OIDC スコープを選択」欄をクリックし「プロファイル」を追加します。
「許可されているサインアウト URL - オプション」の「サインアウト URL を追加」ボタンをクリックします。
追加された「URL」欄に「https://localhost」と入力します。
ページを下までスクロールし「次へ」をクリックします。
「確認および作成」で設定した項目に漏れがないか確認し、ページを下までスクロールし「ユーザープールを作成」をクリックします。
このラボでは、MockペットストアAPIへのアクセスを許可するため、リソースとスコープを作成します。
これによりペットストアAPIのgetメソッドに対する認証済みアクセスが提供されます。
ユーザープール画面の「開始方法」の下にユーザープールの設定値に関するタブが表示されています。
タブの中から「アプリケーションの統合」をクリックします。(表示がない場合はタブ欄の右端についている 「>」ボタンを何度かクリックして表示項目を切り替えてください)
表示項目が切り替わったら「リソースサーバー」の「リソースサーバーを作成」ボタンをクリックします。
「リソースサーバー」欄の「リソースサーバー名」に「petstoreAPI」
「リソースサーバー識別子」に「petstore」と入力します。
「カスタムスコープ - オプション」欄の「カスタムスコープを追加」ボタンをクリックします。
スコープの入力欄が表示されたら「スコープ名」に「read」
「説明」に「Get all Pets」と入力します。
入力が完了したらページ下にある「リソースサーバーを作成」ボタンをクリックし、リソースサーバーを作成します。
ユーザープールタブの「アプリケーションの統合」の項目「アプリクライアントと分析」に先程ユーザープール作成時に設定した「petstore-client」が表示されていることを確認し、「petstore-client」をクリックします。
画面が切り替わったら、ページを中段までスクロールし、「ホストされた UI」の「編集」ボタンをクリックします。
「ホストされたサインアップページとサインインページ」の項目の「カスタムスコープ」でリソースサーバー設定時に作成したカスタムスコープ「petstore/read」を選択し、「変更を保存」をクリックします。