Cognito ユーザープールの OIDC プロバイダーとして、Auth0 を設定したいです。
簡単な説明
Cognito ユーザープールを使用すると、Salesforce や Ping Identity などのサードパーティの OpenID Connect (OIDC) ID プロバイダーでサインインできます。Auth0 を OIDC プロバイダーとして設定するには、次の条件を満たす必要があります。
- アプリクライアントとドメイン名が備わった Amazon Cognito ユーザープール。
- Auth0 アプリケーションを含む Auth0 アカウント。
解決策
Auth0 アカウントを作成する
Auth0 アカウントをお持ちの場合は、サインインしてください。Auth0 アカウントを作成する場合は、Auth0 のウェブサイトで「はじめに」を参照してください。
Auth0 アプリケーションを作成する
次の手順を実行します。
- Auth0 のウェブサイトで開発者アカウントにサインインします。
- [ダッシュボード] を選択します。
- ナビゲーションペインの [アプリケーション] で [アプリケーションの作成] をクリックします。
- ダイアログボックスにアプリケーションの名前を入力します。(例: App1)
- [アプリケーションの種類を選択] で [単一ウェブページのアプリケーション] を選択し、[作成] を選択します。
重要: [アプリケーション設定] タブの Client ID、Client secret、Domain 値を書き留めてください。次のステップで、ユーザープール用の OIDC 設定を構成する際に使用します。
- [設定] タブの [許可されたコールバックURL] セクションには、ユーザープールの Cognito コールバックドメインを追加する必要があります。ドメイン形式の例を次に示します。https://<Cognito Domain>.auth.<region>.amazoncognito.com/oauth2/idpresponse
- [変更を保存] をクリックします。
ユーザープールの OIDC 設定を構成する
次の手順を実行します。
- Cognito コンソールを開きます。
- [ユーザープール] を選択し、該当するユーザープールを選択します。
- [ソーシャルプロバイダーと外部プロバイダー] を選択し、[ID プロバイダーを追加] を選択します。
- [OpenID 接続 (OIDC)] を選択します。
- [プロバイダー名] を入力します。次に、Auth0 アプリケーションから取得したクライアント ID とクライアントシークレットの値を入力します。
- [認証スコープ] には、Phone、Email、Openid、Profile を入力します。
- [属性のリクエストメソッド] ドロップダウンリストを選択し、[GET] を選択します。
- [発行元] に Auth0 コンソールから取得したドメイン名を追加します。(例: https://example.auth0.com)
- [属性マッピング] の [OIDC 属性] セクションで Email 用の属性マッピングを作成します。OIDC の email 属性は、ユーザープールの email 属性にマップされます。
- [ID プロバイダーを追加] をクリックします。
ユーザープールのアプリクライアント設定を構成する
次の手順を実行します。
- Cognito コンソールを開きます。
- [アプリクライアント] を選択し、該当するアプリクライアントを開きます。
- [ログインページ] タブを選択します。
- [マネージドログインページの設定] セクションで [編集] を選択します。
- [コールバック URL を許可] には、統合アプリケーションの URL を入力します。
- [サインアウト URL を許可] には、ユーザーがサインアウトした後のリダイレクト先 URL を入力します。
- [ID プロバイダー] のドロップダウンをクリックし、[Auth0] と [Cognito ユーザープール] にチェックを入れます。
- [許可されている OAuth] フローでは、[認証コード付与] に最低限チェックを入れる必要があります。
- [許可されている OAuth スコープ] では、[Email] と [Openid] に最低限チェックを入れる必要があります。
- [変更を保存] をクリックします。
設定をテストする
次の手順を実行します。
- Cognito コンソールを開きます。
- [ユーザープールの管理] を選択します。
- ユーザープールを開き、[アプリクライアント] を選択します。
- 該当するアプリクライアントを選択し、[ログインページを表示] を選択します。
- [ホストされた UI] ページで [Auth0] を選択します。リダイレクト先の Auth0 ログインページで入力します。完了後、ページはアプリクライアント設定で指定したコールバック URL にリダイレクトされます。
- (オプション) ユーザープールのユーザーとグループ設定で作成した Auth0 ユーザーを確認します。
関連情報
ユーザープールドメインの設定