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

IdPからメタデータと署名証明書を入手

Auth0で接続を作成するには、IdPから複数の構成メタデータを収集する必要があります。
フィールド説明
サインインURLSAML認証要求が送信されるURL。これはシングルサインオン(SSO)エンドポイントとも呼ばれます。
サインアウトURLSAMLログアウト要求が送信されるURL。これはシングルサインアウト(SLO)エンドポイントとも呼ばれます。
X509署名証明書SPによって要求された公開鍵証明書。これによって、IdPでデジタル署名された認証アサーションの署名を検証します。Auth0は、.pem形式と.cer形式を受け入れます。

Auth0でSAMLエンタープライズ接続を作成する

またはAuth0 を使用してSAMLエンタープライズ接続を作成できます。
  • Dashboard
  • Management API
  1. [Dashboard]>[Authentication(認証)]>[Enterprise(エンタープライズ)] に移動し、 [SAML] を選択します。
  2. [Create Connection(接続を作成する)] を選択します。
  3. 次の設定を構成します:
    設定説明
    Connection Name(接続名)SAML-SPなどの接続名を入力します。
    Sign In URL(サインインURL)IdPから取得した__サインインURL__を入力します。
    X509 Signing Certificate(X509署名証明書)IdPから取得したX509署名証明書ファイル(.pemまたは.cerの形式)をアップロードします。
    Enable Sign Out(サインアウトの有効化)__サインアウトURL__フィールドを有効にします。
    Sign Out URL(サインアウトURL)IdPから取得した__サインアウトURL__を入力します。
    User ID Attribute(ユーザーID属性)SAMLトークンに含まれる属性を入力します。この属性はAuth0のuser_idプロパティにマッピングされます。設定しない場合は、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(デバッグモード)__デバッグモード__を有効にすると、より詳細なログを記録します。
    Sign Request(要求に署名する)SAML認証要求が署名されます。
    Sign Request Algorithm(要求署名アルゴリズム)使用するハッシュアルゴリズムをドロップダウンメニューから選択します。
    Sign Request Algorithm Digest(要求署名アルゴリズムのダイジェスト)アサーションの有効性を確認するアルゴリズムをドロップダウンメニューから選択します。
    Protocol Binding(プロトコルバインディング)ドロップダウンメニューから以下のいずれかを選択します。
    • HTTP-Redirect:URLパラメーターにメッセージを含めて送信します。
    • HTTP-POST:HTMLフォームにメッセージを含めて送信します。
    Sync user profile attributes at each login(毎回のログインでユーザープロファイル属性を同期する)ログインするたびにユーザープロファイル属性が同期されます。
  4. [Create(作成)] を選択します。

プロキシゲートウェイのSAML接続を構成する

プロキシゲートウェイの背後にAuth0がある場合は、それに応じてSAML接続のdestinationUrlフィールドとrecipientUrlフィールドを構成する必要があります。
  1. Management API接続を取得エンドポイントを使用してSAML接続の現在の構成を取得します。
  2. 返された応答からoptionsオブジェクトの値をコピーします。
  3. optionsオブジェクトに次のフィールドを追加します。
    フィールドタイプ
    destinationUrl文字列プロキシゲートウェイのURL。
    recipientUrl文字列プロキシゲートウェイのURL。
  4. 要求本文内の更新されたoptionsブジェクト全体を使用してManagement API接続の更新エンドポイントを呼び出します。

要求テンプレートのカスタマイズ

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>Auth0 Management APIの接続取得エンドポイントから返された接続のoptionsの値にアクセスするには、Connectionキーにドット表記を使用します。たとえば、接続が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ログインしようとしているユーザーのユーザー名またはメールアドレスです。Identifier First認証では、Auth0はこの値をIdPに送信して、IdPのログインフォームに前もって入力しておくことができます。
ProtocolBindingプロトコルのバインドタイプです。
ProviderName要求を始めたアプリケーションの名前です。これは常にAuth0のテナント名を返します。
AssertServiceURLAndDestination廃止予定です。新しい構成では、この代わりに、AssertionConsumerServiceURLDestinationを使用してください。

IdPを構成する

SAML IDプロバイダーの構成設定に移動して、IdPに提供する必要のあるメタデータを見つけます。 Auth0は、SAML 1.1またはSAML 2.0プロトコルに準拠する構成ですべてのSAML IdPをサポートしています。特定のプロバイダーを設定するための詳細な手順は次のとおりです。

接続をテストする

Dashboardで接続をテストするには:
  1. Dashboard]>[Authentication(認証)]>[Enterprise(エンタープライズ)]>[SAML]に移動します。
  2. 作成した接続を見つけて、 (3つのドット)メニュー アイコンを選択し、 [Try(試す)] を選択します。
  3. ユニバーサルログインページが表示され、資格情報の入力を求められます。
  4. IdPに存在するユーザーのメール アドレスを入力します。ホーム領域検出を構成した場合は、指定されたドメインのいずれかを使用するメールアドレスを入力してください。
  5. IdPのログイン画面にリダイレクトされたら、通常どおりログインします。
  6. IdPからAuth0に送信された認証アサーションの内容を表示するAuth0のページにリダイレクトされます。

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

接続が期待どおりに機能しない場合は、次の手順を試してください。
  • 各テストの前にブラウザの履歴、クッキー、キャッシュをクリアしてください。そうしないと、ブラウザが最新の構成情報を取得できなかったり、実行に影響する古いクッキーが残る可能性があります。
  • ブラウザでクッキーが許可され、JavaScriptが有効になっていることを確認してください。
  • トランザクションのHARファイルをキャプチャし、Auth0 SAMLツールを使用してSAMLアサーションをデコードし、そのコンテンツを確認します。

もっと詳しく

I