Cognito アプリクライアントを作成

作成したユーザプールに アプリクライアント を以下の通り 2 つ作成します。

  • Public クライアント

    • シークレットは無し
    • ALLOW_USER_PASSWORD_AUTH, ALLOW_USER_SRP_AUTH を有効
    • 3章 で Cognito Identity Provider API の 非 Admin API を呼び出しを行う際に利用
  • Confidential クライアント

    • シークレットあり
    • 認証フローは ALLOW_CUSTOM_AUTH や ALLOW_USER_SRP_AUTH など全てを無効
    • 4章 で Cognito Auth API の Authorization Code Grant の呼び出しを行う際に利用

Identity Provider API を利用する場合の一般的なパスワード認証には USER_SRP_AUTH の利用を推奨しますが、ハンズオンで使用する Postman や curl で SRP の処理に対応することが難しいため USER_PASSWORD_AUTH を利用します。利用しない場合は不要な方式を許可しないことをおすすめします。

Public クライアントの作成

左側のメニューから [全般設定 - アプリクライアント] をクリックし、[アプリクライアントの追加] をクリックします。

アプリクライアント名に PublicClient と入力します。[クライアントシークレットを生成] をオフに、[Lambda トリガーベースのカスタム認証を有効にする (ALLOW_CUSTOM_AUTH)] もオフに、[ユーザ名パスワードベースの認証を有効にする (ALLOW_USER_PASSWORD_AUTH)] はオンにします。そして、[アプリクライアントを作成] をクリックします。

作成されると [アプリアクライント ID] が割当てられますので、テキストエディタ等にメモとして貼り付けておいてください。

Confidential クライアントの作成

[別のアプリアクライントを追加] をクリックします。

アプリクライアント名に ConfidentialClient と入力します。[クライアントシークレットを生成] をオンのままとし、[Lambda トリガーベースのカスタム認証を有効にする (ALLOW_CUSTOM_AUTH)] をオフに、[SRP (セキュアリモートパスワード) プロトコルベースの認証を有効にする (ALLOW_USER_SRP_AUTH)] もオフにします。そして、[アプリクライアントを作成] をクリックします。

[ConfidentialClient] が追加されていることを確認し、[詳細を表示] をクリックします。

[アプリアクライント ID] と [アプリクライアントのシークレット] をテキストエディタ等にメモとして貼り付けておいてください。