AWS Cognito 構築手順
世にたくさん出回っていますが、整理した手順です。
ユーザプールの作成
1. AWSサービスからCognitoを選択
2. ユーザプールを作成する。を選択
3. プール名を任意で決めて、「ステップに従って設定する」を指定。
4. 属性の設定
本設定は後から変更できないとのこと。
今回の設定では、下記とした。(用途によって適宜設定する)
- 認証時のユーザ名は「ユーザ名」(他にも任意のメールアドレスや電話番号が選択できるが、メールアドレスの場合、重複登録ができず動作確認しにくいため、今回はユーザ名にしておく)
- サインアップ時の入力必須項目は無しにしておく。(住所、電話番号、名前、誕生日や性別など指定できる)
5. ポリシーの設定
-
パスワードの強度は、最小8文字、数字、特殊文字、大文字、小文字を必要とする。(デフォルト)
-
管理者のみサインアップ許可(管理者以外のユーザにもサインアップの許可を与えることができる)
-
一時パスワードの有効期限7日間(デフォルト)
6. MFAの設定
-
MFA無効
-
アカウント回復の方法は、なし(他にも「Eメール」や「電話」が選択できる)
-
Cognitoに対するSMSメッセージの送信を許可するロールは作成しない(作成するとMFAを有効にする必要がある)
5. メッセージのカスタマイズ
SMSで送信するメッセージ内容のカスタマイズ。
今回は、デフォルトのまま。
6. タグ
現状、必要かわからず、必要あれば別途追加できそうなので、とりあえず未設定のまま。
7. デバイス設定
クライアントのデバイス記録の機能を使用するか選択します。
今回は”いいえ”を選択します。 機能を使用する場合はMFAの設定が必要になるようです。
8.アプリクライアントを指定
クライアント名の入力と「クライアントシークレットの生成」のチェックを外すす(※1)。
※1:クライアントシークレットの生成は、JavascriptのSDKが対応していないとのことでJavascriptでアプリを作るのであれば、必須
<備考>
「トークンの有効期限」のトークンとは更新トークンのことで、認証後、アクセストークンを背面で更新してくれる期間のこと。
「アクセストークン」はリソースへの更新権限を許可するためのトークン
「IDトークン」はその人がだれかを確認するためのトークン
9. トリガ
認証時前や後に起動するLambdaが設定できる。
今のところ使用しないので設定しない。
10. ユーザ登録
現時点では、ユーザ登録をWebアプリからしないので、AWSコンソールから手動でユーザ登録した。
[参考URL]