スキップしてコンテンツを表示

Amazon Cognito ユーザープールで Auth0 を SAML ID プロバイダーとして設定する方法を教えてください。

所要時間2分
0

Amazon Cognito ユーザープールで、Auth0 を SAML 2.0 ID プロバイダー (IdP) として設定しようとしています。

簡単な説明

アプリクライアント、ドメイン名、Auth0 アプリケーションが含まれた Auth0 アカウントを持つ Cognito ユーザープールが必要です。詳細については、「サードパーティ ID プロバイダーを使用してユーザープールにサインインする」および「ユーザープールで SAML ID プロバイダーを使用する」を参照してください。

解決策

アプリクライアントとドメイン名を使用して Cognito ユーザープールを作成する

詳細については、次の AWS ドキュメントを参照してください。

Auth0 アカウントにサインアップする

Auth0 アカウントをまだお持ちでない場合は、Auth0 Sign Up ウェブサイトでサインアップしてください。

Auth0 アプリケーションを作成する

次の手順を実行します。

  1. Auth0 ダッシュボード[アプリケーション] を選択し、[アプリケーションの作成] を選択します。
  2. [アプリケーションの作成] ボックスにアプリケーションの名前 (例: My App) を入力します。
  3. [アプリケーションの種類を選択]** で [単一ページのウェブアプリケーション]** を選択します。
  4. [作成] を選択します。

Auth0 アプリケーションのテストユーザーを作成する

次の手順を実行します。

  1. Auth0 ダッシュボードのナビゲーションペインで [ユーザー管理] を選択し、[ユーザー] を選択します。
  2. [最初のユーザーを作成] または [ユーザーを作成] を選択します。
  3. [ユーザーの作成] ボックスにテストユーザーのメールアドレスとパスワードを入力します。
  4. [保存] を選択します。

アプリケーションの SAML 設定を行う

次の手順を実行します。

  1. Auth0 ダッシュボードのナビゲーションペインで [アプリケーション] を選択します。
  2. 作成したアプリケーションの名前を選択します。
  3. [アドオン] タブで、[SAML2 Web アプリ] を有効にします。
  4. [アドオン: SAML2 Web アプリケーション] ボックスの [設定] タブで、[アプリケーションのコールバック URL]https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse と入力します。
    注: 実際のものでそれぞれ、yourDomainPrefixregion をユーザープールのドメインプレフィックスと AWS リージョンに置き換えます。ユーザープールの [管理] ページ上の [ドメイン名] タブにあります。または、https//yourCustomDomain/saml2/idpresponse の形式でカスタムドメインのコールバック URL を入力します。
  5. [設定]audience でコメント区切り文字 (//) を削除し、デフォルト値である urn:foourn:amazon:cognito:sp:yourUserPoolId に置き換えます。
    注: yourUserPoolId は、実際の Cognito ユーザープール ID に置き換えます。ID は、ユーザープールの [管理] ページ上の [一般設定] タブにあります。
  6. mappingsemail から、コメント区切り文字 (//) を削除します。ユーザープールに必要な、その他のユーザー属性をすべて削除します。
  7. nameIdenetifierFormat から、コメント区切り文字 (//) を削除します。デフォルト値である urn:oasis:names:tc:SAML:1.1:nameid-format:unspecifiedurn:oasis:names:tc:SAML:2.0:nameid-format:persistent に置き換えます。
  8. (オプション) [デバッグ] を選択します。設定が機能することを確認するために、テストユーザーとしてログインします。
  9. [有効] を選択し、[保存] を選択します。

Auth0 アプリケーションの IdP メタデータを取得する

[アドオン: SAML2 ウェブアプリ] ボックスの [使用状況] タブで [ID プロバイダーのメタデータ] を検索します。download を選択し、URL を書き留めます。または、download を選択して .xml 形式のメタデータファイルをダウンロードします。

Auth0 を Cognito の SAML IdP として設定する

SAML IdP を作成する際、メタデータドキュメントID プロバイダーのメタデータの URL を入力するか、.xml 形式のメタデータファイルをアップロードします。

詳細については、「ユーザープールで SAML ID プロバイダーを追加、管理する」を参照してください。

IdP 属性からユーザープール属性にメールアドレスをマッピングする

[SAML 属性]http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress と入力します。[ユーザープール属性][メール] を選択します。

詳細については、「IdP の属性をプロファイルとトークンにマッピングする」を参照してください。

Cognito でアプリクライアント設定を変更する

次の手順を実行します。

  1. Cognito コンソールを開きます。
  2. ユーザープールを選択します。
  3. ユーザープールの [管理] ページにある [アプリケーション][目的のアプリクライアントを選択] を選択します。
  4. [ログインページ] でマネージドログインページの設定を編集します。
  5. [ID プロバイダー][Auth0][Cognito ユーザープール] を選択します。
  6. [許可するコールバックURL] には、ログインした後にユーザーをリダイレクトする URL を入力します。任意の有効な URL (例: https://www.amazon.com) を入力すると、認証をテストできます。
  7. [許可するサインアウト URL] には、ログアウト後にユーザーをリダイレクトする URL を入力します。任意の有効な URL (例: https://www.amazon.com) を入力すると、認証をテストできます。
  8. [許可する OAuth フロー] には [暗黙的許可] および、必要に応じてその他を選択します。
  9. [許可する OAuth スコープ] には、emailopenid および、必要に応じてその他を選択します。
  10. [変更を保存] を選択します。

詳細については、「アプリクライアントの用語」を参照してください。

ログインエンドポイントをテストする

次の手順を実行します。

  1. ウェブブラウザに https://.auth..amazoncognito.com/login?response_type=token&client_id=&redirect_uri= という URL を入力します。
  2. yourDomainPrefixregion は、実際のユーザープールの値に置き換えます。これらは、ユーザープールの [管理] ページ上の、[ブランディング] にある [ドメイン名] タブに表示されています。
  3. 実際のものでそれぞれ、ClientId をアプリクライアントの ID に、redirectUrl をアプリクライアントのコールバック URLに置き換えます。これらの設定は、ユーザープールの [管理] ページ上の [アプリケーション] にある [アプリクライアント設定] タブで行えます。詳細については、「マネージドログインのサインインエンドポイント: /login」を参照してください。
  4. Auth0 を選択します。
    注: アプリクライアントのコールバック URL にリダイレクトされる場合は、ブラウザで Auth0 アカウントにログイン済みです。
  5. Auth0 アプリケーションのログインページで、テストユーザーのメールアドレスとパスワードを入力します。
  6. [ログイン] を選択します。

ログイン後、アプリクライアントのコールバック URL にリダイレクトされます。ユーザープールトークンは、ウェブブラウザでアドレスバーの URL に表示されています。

関連情報

ユーザープールの JSON ウェブトークン (JWT) について

サードパーティ SAML ID プロバイダーを設定する

Amazon Cognito ユーザープールを使用してサードパーティの SAML ID プロバイダーをセットアップする方法を教えてください

コメントはありません