> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> テスト用に、Auth0 をサービスプロバイダーと IDプロバイダーの両方として使用する SAML SSO の設定方法を説明します。

# Auth0 をサービスプロバイダーおよび IDプロバイダーとして使用して SAML SSO をテストする

Auth0 は、サービスプロバイダー (SP) と <Tooltip tip="Identity Provider (IdP): Service that stores and manages digital identities." cta="View Glossary" href="/docs/ja-jp/glossary?term=identity+provider">アイデンティティプロバイダー</Tooltip> (IdP) の両方として設定でき、<Tooltip tip="Identity Provider (IdP): Service that stores and manages digital identities." cta="View Glossary" href="/docs/ja-jp/glossary?term=SAML">SAML</Tooltip> <Tooltip tip="Security Assertion Markup Language (SAML): Standardized protocol allowing two parties to exchange authentication information without a password." cta="View Glossary" href="/docs/ja-jp/glossary?term=single+sign-on">シングルサインオン</Tooltip> (SSO) 接続をテストできます。

<Frame>
  <img src="https://mintcdn.com/translations/c0RQ9V0YAcT0-8l5/docs/images/cdy7uua7fh8z/7Ds9dLC3HaxGBLsG3ry7B9/0c08d51b6d6bb57ef6eff3796ca4cd21/saml-case3.png?fit=max&auto=format&n=c0RQ9V0YAcT0-8l5&q=85&s=b2c86485f787ab5573fe7d41df5f3ea5" alt="Auth0 を SAML SP および IdP として使用するプロトコル図" width="900" height="177" data-path="docs/images/cdy7uua7fh8z/7Ds9dLC3HaxGBLsG3ry7B9/0c08d51b6d6bb57ef6eff3796ca4cd21/saml-case3.png" />
</Frame>

Auth0 を SP として使用する SAML 構成では、Auth0 がサポートするのは SAML 1.1 または SAML 2.0 のみです。一方、Auth0 を IdP として使用する SAML 構成では、SAML 2.0 を使用できます。

テスト用に、1 つのテナントを SAML SP、別のテナントを SAML IdP として使用し、Auth0 でユーザーを認証するシンプルな SAML SSO のサンプルアプリケーションを設定できます。1 つのテナントに対して 2 つのフェデレーションを設定します。

<div id="create-idp-tenant">
  ## IdP テナントを作成
</div>

SAML IdP として使用するための別の Auth0 テナントがまだない場合は、新しく作成する必要があります。

1. [Auth0 Dashboard](https://manage.auth0.com/#/) に移動し、テナント名を選択して **Create Tenant** をクリックします。

   <Frame>
     <img src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/53KetqhNIGDs6N5cqJdQtz/5efad1137eb8b04031b30137c2fc5ac5/2025-02-26_14-51-39.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=02e7645ce4e81785cf4c170695d2c9c4" alt="Auth0 Dashboard のテナントのドロップダウンメニューで Create Tenant をクリック" width="305" height="532" data-path="docs/images/cdy7uua7fh8z/53KetqhNIGDs6N5cqJdQtz/5efad1137eb8b04031b30137c2fc5ac5/2025-02-26_14-51-39.png" />
   </Frame>
2. **Domain** を入力し、**Region** を選択して、**Create** をクリックします。

<div id="configure-idp-tenant">
  ## IdP テナントを設定する
</div>

セカンダリ テナントを IdP として設定し、SP テナントを表すアプリケーションを登録します。

1. IdP テナントに切り替えます。テナント メニューを開き、**Switch Tenant** を選択してから、IdP テナントを選択します。
2. [Auth0 Dashboard > アプリケーション > アプリケーション](https://manage.auth0.com/#/applications) に移動し、**Create Application** を選択します。
3. `my-auth0-idp` などのアプリケーション名を入力し、アプリケーションの種類には **Regular Web Application** を選択して、**Create** をクリックします。
4. **設定** ページの下部に移動し、**Show Advanced Settings** を選択します。
5. **Certificates** ビューに切り替えて **Download Certificate** を選択し、**PEM** を選びます。証明書がダウンロードされます。この証明書は、SP テナントを設定するときに使用します。
6. **Endpoints** ビューに切り替え、**SAML Protocol URL** を見つけてその内容をコピーします。この URL は、SP テナントを設定するときに使用します。

<div id="create-user-to-test-saml-sequence">
  ## SAML シーケンスのテスト用ユーザーを作成する
</div>

1. [Auth0 Dashboard > User Management > Users](https://manage.auth0.com/#/users) に移動し、**Create User** を選択します。
2. テスト用ユーザーのメールアドレスを入力します。ドメイン名は、次に設定するサービスプロバイダーのテナントのメールドメインと一致している必要があります。たとえば、ユーザーが `john.doe@exampleco.com` の場合、メールドメインには `exampleco.com` を入力します。
3. テスト用ユーザーのパスワードを入力します。
4. **接続** にはデフォルト値を使用します。
5. **Create** を選択します。

<div id="configure-service-provider-tenant">
  ## サービスプロバイダー テナントを設定する
</div>

SAML プロトコルを使用した SSO のために、SP テナントが IdP テナントと通信できるように設定します。

1. SP テナントに切り替えます。テナントメニューを開き、**Switch Tenant** を選択してから、SP テナントを選択します。
2. [Auth0 Dashboard > Authentication > Enterprise](https://manage.auth0.com/#/connections/enterprise) に移動し、**SAML** を選択します。
3. **Create Connection** を選択します。
4. 次の情報を入力し、**Create** を選択します。

| 設定                       | 説明                                                                   |
| ------------------------ | -------------------------------------------------------------------- |
| Connection Name          | `SAML-Auth0-IDP` など、任意の名前を入力します。                                     |
| Sign In URL              | 上でコピーした SAML Protocol URL の値を入力します。                                  |
| Sign Out URL             | 上記の Sign In URL と同じ URL を入力します。                                      |
| X509 Signing Certificate | 赤い **UPLOAD CERTIFICATE...** ボタンをクリックし、上でダウンロードした `.pem` ファイルを選択します。 |

5. **設定** ビューに切り替えて、テナントに関連付けられたメタデータを確認します。URL をコピーして保存します。
6. 新しいブラウザータブを開き、先ほどコピーした URL に移動します。 (Auth0 ドキュメントにログインしている場合は、設定に正しい値があらかじめ入力されます。)

   1. **Entity ID** を見つけて、その内容をコピーして保存します。次のようになります: `urn:auth0:{yourTenant}:{yourConnectionName}`。`{yourConnectionName}` は、IdP テナント用に作成した接続の名前に置き換えます。
   2. **メタデータ** を見つけて、表示されている URL をコピーして保存します。次のようになります: `https://{yourDomain}/samlp/metadata?connection={yourConnectionName}`。`{yourConnectionName}` は、IdP テナント用に作成した接続の名前に置き換えます。
   3. 先ほどコピーした URL にアクセスして、SP テナント内のこの接続のメタデータを表示します。ブラウザーによっては、メタデータファイルの保存を求められる場合もあります。
   4. **AssertionConsumerService** で始まる行を見つけ、**Location** フィールドの値をコピーして保存します。これは次の形式の URL です: `https://{yourDomain}/login/callback?connection={yourConnectionName}`。この URL は、IdP テナントから送信される SAML assertion を受け取る SP テナント上の URL です。次のセクションでは、この URL を IdP テナントに指定して、SAML assertion の送信先を認識できるようにします。

<div id="add-service-provider-metadata-to-idp">
  ## IdP にサービスプロバイダーのメタデータを追加する
</div>

SP テナントに関する情報を IdP テナントに追加し、SAML 認証リクエストを受信して応答できるようにします。

1. IdP テナントに切り替えます。テナントメニューを開き、**Switch Tenant** を選択してから、IdP テナントを選択します。
2. [Auth0 Dashboard > アプリケーション > アプリケーション](https://manage.auth0.com/#/applications) に移動し、先ほど作成した IdP アプリケーションの名前を選択します。
3. **Addons** ビューに切り替えます。
4. **SAML2 Web App** を選択してオプションを表示し、**Application Callback URL** を探します。先ほどコピーした **AssertionConsumerService URL** を貼り付けます。
5. **設定** のコードブロックで `audience` キーを探し、コメントアウトを解除します。次に、行末のカンマを削除し、元の値 (`urn:foo`) を先ほどコピーした **Entity ID** の値に置き換えます (サービスプロバイダーテナントの設定時に Step 4 で作成した接続名を含めます) 。
   新しい行は次のようになります: "`audience":"urn:auth0:{yourTenant}:{yourConnectionName}"`。
6. **Enable** を選択します。

<div id="test-idp">
  ## IdP をテストする
</div>

1. 同じウィンドウで上にスクロールして **Debug** を選択します。ログイン画面が表示されます。
2. 上で作成したテストユーザーの資格情報を使ってログインします。設定が正しければ、「It works!」と、IdP に送信されるエンコード済みおよびデコード済みの SAML レスポンスが表示されます。
3. デコード済みの SAML レスポンスを確認し、`<saml:Audience>` を見つけて、前の画面で入力した **Entity ID** と一致していることを確認します。
4. **Close this window** を選択します。

<div id="create-application-to-test-saml-connection">
  ## SAML 接続をテストするためのアプリケーションを作成する
</div>

作成した SAML 接続をテストするためのシンプルなアプリケーションを作成します。

1. SP テナントに切り替えます。テナントメニューを開き、**Switch Tenant** を選択してから、SP テナントを選択します。
2. [Auth0 Dashboard > アプリケーション > アプリケーション](https://manage.auth0.com/#/applications) に移動し、**Create Application** を選択します。
3. アプリケーション名を入力し、アプリケーションの種類として **Regular Web Application** を選択して、**Create** を選択します。
4. **Domain** と **Client ID** の値をコピーして保存します。
5. **Allowed Callback URLs** フィールドを見つけて、`http://jwt.io` を入力します。
   これは、認証後にユーザーがリダイレクトされる許可済みのコールバック URL の一覧です。ここに入力する URL は、次の手順で作成する HTML コード内のコールバック URL と一致している必要があります。通常はアプリケーションの URL を入力しますが、この例では簡単にするため、テストユーザーは Auth0 の JWT オンラインツールに送られます。このツールでは、認証シーケンスの最後に返される JSON Web トークン (JWT) に関する情報を確認できます。
6. **変更を保存** を選択します。
7. **Connections** ビューに切り替え、**Enterprise** セクションの下にある作成済みの SAML 接続を見つけて、有効にします。

<div id="test-connection-between-service-and-identity-provider">
  ## サービスとアイデンティティプロバイダー間の接続をテストする
</div>

SPテナントとIdPテナント間の SAML 構成が正しく機能することを確認するため、テストを行います。

1. [Auth0 Dashboard > Authentication > Enterprise](https://manage.auth0.com/#/connections/enterprise) に移動し、**SAML** を選択します。
2. 作成した SAML 接続を見つけて、**試す** の矢印アイコンを選択します。この接続のテスト時にすでにログインしているため、直接 "It works!" 画面に移動するはずです。ログイン画面が表示された場合は、テストユーザーの資格情報を使用してログインしてください。

構成が正しく設定されていれば、"It works!" と表示され、ページには IdPテナント から Auth0 テナントに送信された SAML 認証アサーションの内容が表示されます。

正しく構成されていない場合は、手順を再確認してください。それでも解決しない場合は、このドキュメントの末尾にあるトラブルシューティングのセクションを参照してください。

<div id="create-a-web-page-for-test-application">
  ## テスト用アプリケーションのWebページを作成する
</div>

Lockウィジェットを呼び出して SAML ログインシーケンスを開始するシンプルなWebページを作成します。

1. HTML ページを作成し、次の HTML コードと JavaScript コードを挿入します。`{yourClientId}` と `{yourDomain}` は、先ほど登録したアプリケーションの実際の値に置き換えてください。 (それらの値を控えていない場合は、SP テナントの **Application Settings** で確認できます。)

   ```html lines expandable theme={null}
   <!DOCTYPE html>
   <html lang="en">
   <body>
     <button type="button" onclick="login()">Log in</button>
     <script src="https://cdn.auth0.com/js/auth0/9.19.0/auth0.min.js"></script>
     <script>
       var auth0 = new auth0.WebAuth({
         domain: '{yourDomain}',
         clientID: '{yourClientId}',
         redirectUri: 'URL_TO_THIS_PAGE',
         responseType: 'token id_token',
         scope: 'openid email profile'
       })

       auth0.parseHash(function(err, data) {
         if (err) {
           console.log(err)
         }

         if (data) {
           console.log('Login successful!')
           console.log(data)
         }
       })

       window.login = function() {
         auth0.authorize()
       }
     </script>

   </body>
   </html>
   ```

2. `audience` をアプリケーションに適した値に置き換えることもできますが、このテストではプレースホルダーのままで十分です。`audience` パラメーターを指定する場合は、Auth0 で設定済みの既存の API の identifier と一致していることを確認してください。

3. ブラウザーからアクセスできる場所に HTML ファイルを保存します。

<div id="test-sample-application">
  ## サンプルアプリケーションをテストする
</div>

SP テナントで作成した Auth0 の SAML 接続を使用して、IdP テナントに対する SSO 認証を行うサンプル HTML アプリケーションをテストします。

1. 上で作成した HTML ファイルをブラウザーで開きます。ログインボタンが表示されるはずです。
2. **Login** をクリックします。1 つの選択肢がある Lock ウィジェットが表示されるはずです。アプリケーションで他の接続を有効にしている場合は、画面の表示が異なることがあります。メールアドレスの入力を求められた場合は、入力するメールアドレスのドメイン名が、最初のテナントのアプリケーションの **設定** ビューで入力したドメインと同じであることを確認してください。
3. **saml** または **ACCESS** と表示された青いボタンをクリックします。資格情報の入力を求められるか、すぐにコールバック URL にリダイレクトされるかは、有効なセッションがまだ残っているかどうかによって異なります。

<div id="troubleshoot-test-scenario">
  ## テストシナリオのトラブルシューティング
</div>

* テストの前には毎回、ブラウザーの履歴と Cookie を消去してください。そうしないと、ブラウザーが HTML ページの最新バージョンを読み込まなかったり、実行に影響する古い Cookie が残っていたりすることがあります。
* やり取りの HTTP トレースを取得してください。多くのツールでは、分析用にブラウザーの HTTP トラフィックを取得できます。

  * ツールを見つけてインストールするには、インターネットで「HTTP Trace」を検索してください。
  * 最初から最後までログインシーケンスを取得し、トレースを分析します。想定どおりのシーケンスのどこまで進んでいるかを確認するために、GET の流れを追跡してください。元のサイトから SP テナントへ、次に IdP テナントへリダイレクトされ、ログインが必要な場合は資格情報の POST が行われ、その後コールバック URL または SP テナントにリダイレクトされ、さらにアプリケーションで指定した **コールバック URL** にリダイレクトされるはずです。
* ブラウザーで Cookie と JavaScript が有効になっていることを確認してください。
* HTML ファイルで指定した **コールバック URL** が、アプリケーションの **Allowed Callback URLs** フィールドにも含まれていることを確認してください。そのためには、[Auth0 Dashboard > アプリケーション > アプリケーション](https://manage.auth0.com/#/applications) に移動してアプリケーション名を選択し、**Allowed Callback URLs** を探します。
* SAML アサーションをデコードするには、[http://samltool.io](http://samltool.io) ツールを使用してください。

<div id="learn-more">
  ## 詳細情報
</div>

* [SAML SSO 連携](/docs/ja-jp/authenticate/protocols/saml/saml-sso-integrations)
* [SAML アサーションをカスタマイズする](/docs/ja-jp/authenticate/protocols/saml/saml-configuration/customize-saml-assertions)
* [SAML 連携でユーザーのプロビジョニングを解除する](/docs/ja-jp/authenticate/protocols/saml/saml-configuration/deprovision-users-in-saml-integrations)
* [SAML IDプロバイダーの設定](/docs/ja-jp/authenticate/protocols/saml/saml-identity-provider-configuration-settings)
* [SAML リクエストへの署名と暗号化](/docs/ja-jp/authenticate/protocols/saml/saml-sso-integrations/sign-and-encrypt-saml-requests)
