メインコンテンツへスキップ
フェデレーションで Auth0 をサービスプロバイダー (SP) として構成するには、まず Auth0 でエンタープライズ接続を作成し、次にその接続のメタデータを使用して SAML の (IdP) を更新する必要があります。 Auth0 は、SAML 1.1 または SAML 2.0 プロトコルに準拠した構成で、Auth0 を SP として使用することをサポートしています。

IdP からメタデータと証明書を取得する

Auth0 で接続を作成するには、IdP からいくつかの設定メタデータを収集する必要があります。
FieldDescription
Sign In URLSAML 認証リクエストの送信先 URL です。シングルサインオン (SSO) エンドポイントとも呼ばれます。
Sign Out URLSAML ログアウトリクエストの送信先 URL です。シングルログアウト (SLO) エンドポイントとも呼ばれます。
X509 Signing CertificateIdP によってデジタル署名された認証アサーションの署名を SP が検証するために必要な公開鍵証明書です。Auth0 は .pem 形式と .cer 形式に対応しています。

Auth0 で SAML Enterprise 接続を作成する

または Auth0 の を使用して、SAML Enterprise 接続を作成できます。
  1. Dashboard > Authentication > Enterprise に移動し、SAML を選択します。
  2. Create Connection を選択します。
  3. 次の設定を行います。
SettingDescription
接続名SAML-SP などの接続名を入力します。
サインイン URLIdP から取得した Sign In URL を入力します。
X509 署名証明書IdP から取得した X509 署名証明書ファイル (.pem または .cer 形式) をアップロードします。
サインアウトを有効にするSign Out URL フィールドを有効にします。
サインアウト URLIdP から取得した Sign Out URL を入力します。
ユーザー ID 属性Auth0 の user_id プロパティにマッピングする SAML トークン内の属性を入力します。設定しない場合、user_id は次の項目から (記載順に) 取得されます。
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
デバッグモードより詳細なログを出力するには、Debug Mode を有効にします。
リクエストに署名する署名付きの SAML 認証リクエストを有効にします。
リクエスト署名アルゴリズムドロップダウンメニューから、使用するハッシュアルゴリズムを選択します。
リクエスト署名アルゴリズム ダイジェストドロップダウンメニューから、アサーションの有効性の検証に使用するアルゴリズムを選択します。
プロトコルバインディングドロップダウンメニューから、次のいずれかのオプションを選択します。
  • HTTP-Redirect: URL パラメーターでメッセージを送信します。
  • HTTP-POST: HTML フォームでメッセージを送信します。
ログインごとにユーザープロファイル属性を同期ログインのたびにユーザープロファイル属性を同期するには、これを有効にします。
  1. Create を選択します。

プロキシゲートウェイ向けの SAML 接続を設定する

Auth0 がプロキシゲートウェイの背後にある場合は、SAML 接続の destinationUrl フィールドと recipientUrl フィールドをそれに合わせて設定する必要があります。
  1. Management API の Get a connection エンドポイントを使用して、SAML 接続の現在の設定を取得します。
  2. 返されたレスポンスから options オブジェクトの値をコピーします。
  3. options オブジェクトに次のフィールドを追加します。
FieldTypeValue
destinationUrlStringプロキシゲートウェイの URL。
recipientUrlStringプロキシゲートウェイの URL。
  1. 更新した options オブジェクト全体をリクエストボディに含めて、Management API の Update a connection エンドポイントを呼び出します。

リクエストテンプレートをカスタマイズする

Auth0 が認証リクエストを IdP に送信する際、リクエスト本文には AuthnRequest オブジェクトが含まれます。このオブジェクトに使用するテンプレートはカスタマイズできます。
  1. Dashboard > Authentication > Enterprise > SAML に移動し、対象の接続を選択します。
  2. Settings ビューに切り替え、Request Template フィールドを探します。
  3. テンプレートを編集します。
  4. Save Changes を選択します。

テンプレート変数

変数は、@@VariableName@@ 構文を使用して AuthnRequest テンプレートに挿入できます。使用可能な変数は次のとおりです。
名前説明
AssertionConsumerServiceURLユーザーのサインイン後に IdP がレスポンスを送信する URL。これを使用する場合は、リクエストテンプレートに ProtocolBinding 属性を含めてください。
Connection.<options-key>Connection キーでドット記法を使用すると、Auth0 Management API の Get a Connection エンドポイントから返される、接続の options 内の任意の値にアクセスできます。たとえば、接続に options.some_property: "value" がある場合は、テンプレート内で @@Connection.some_property@@ を使用できます。
DestinationAuth0 がリクエストを送信する URL。これは、その接続に設定された サインイン URL である必要があります。
IDトランザクション ID。
IssueInstantトランザクションのタイムスタンプ。
Issuerurn 形式の SP のエンティティ ID。

たとえば、urn:auth0:<YOUR_AUTH0_TENANT_NAME>:<YOUR_AUTH0_CONNECTION_NAME> です。
LoginHintログインするユーザーの username またはメールアドレス。Identifier First Authentication を使用している場合、Auth0 はこの値を IdP に送信し、IdP のログインフォームに事前入力できます。
ProtocolBindingプロトコルのバインディングタイプ
ProviderNameリクエストを開始したアプリケーションの名前。常に Auth0 テナント名が返されます。
AssertServiceURLAndDestination非推奨。新しい構成では、代わりに AssertionConsumerServiceURLDestination を使用してください。

IdP を設定する

IdP に提供する必要があるメタデータは、SAML IDプロバイダー設定 で確認できます。 Auth0 は、SAML 1.1 または SAML 2.0 プロトコルに準拠するすべての SAML IdP をサポートしています。以下では、特定のプロバイダー向けの詳しい設定手順を説明します。

接続をテストする

Dashboard で接続をテストするには、次の手順を実行します。
  1. Dashboard > Authentication > Enterprise > SAML に移動します。
  2. 作成した接続を見つけて (3 点) メニューアイコンを選択し、Try を選択します。
  3. Universal Login ページが表示され、資格情報の入力を求められます。
  4. IdP に存在するユーザーのメールアドレスを入力します。Home Realm Discovery を設定している場合は、指定したドメインのいずれかに属するメールアドレスを入力してください。
  5. IdP のログイン画面にリダイレクトされたら、通常どおりログインします。
  6. Auth0 にリダイレクトされ、IdP から Auth0 に送信された認証アサーションの内容が表示されます。

接続のトラブルシューティング

接続が想定どおりに動作しない場合は、次の手順をお試しください。
  • 各テストの前に、ブラウザーの閲覧履歴、Cookie、キャッシュを消去してください。これを行わないと、ブラウザーが最新の構成情報を反映できない場合や、実行に影響する古い Cookie が残っている場合があります。
  • ブラウザーで Cookie が許可されており、JavaScript が有効になっていることを確認してください。
  • トランザクションの HAR ファイルを取得 し、Auth0 SAML Tool を使用して SAML アサーションをデコードして内容を確認してください。