前提条件
開始する前に、以下を行ってください。-
Auth0 にアプリケーションを登録する。
- 適切な Application Type を選択します。
- Allowed Callback URL に
{https://yourApp/callback}を追加します。 - アプリケーションの Grant Types に適切なフローが含まれていることを確認します。
-
このエンタープライズ接続の名前を決めます
- Post-back URL (Assertion Consumer Service URL とも呼ばれます) は次のようになります:
https://{yourDomain}/login/callback?connection={yourConnectionName} - Entity ID は次のようになります:
urn:auth0:{yourTenant}:{yourConnectionName}
- Post-back URL (Assertion Consumer Service URL とも呼ばれます) は次のようになります:
手順
アプリケーションを SAML IDプロバイダーに接続するには、次の手順を行います。- IdP で Post-back URL と Entity ID を入力します (手順については、SAML Identity Provider Configuration Settings を参照してください) 。
- IdP から署名証明書を取得し、Base64 に変換します。
- Auth0 でエンタープライズ接続を作成します。
- Auth0アプリケーションでエンタープライズ接続を有効にします。
- マッピングを設定します (ほとんどの場合は不要です) 。
- 接続をテストします。
IdP から署名証明書を取得する
SAML Login では、Auth0 はサービスプロバイダーとして機能するため、SAML IdP から X.509 署名証明書 (PEM または CER 形式) を取得する必要があります。後で、この証明書を Auth0 にアップロードします。証明書の取得方法は環境によって異なるため、さらにサポートが必要な場合は、IdP のドキュメントを参照してください。署名証明書をBase64形式に変換する
X.509署名証明書のアップロードには、 または を使用できます。Management API を使用する場合は、ファイルをBase64形式に変換する必要があります。これを行うには、シンプルなオンラインツール を使用するか、Bashで次のコマンドを実行します:cat signing-cert.crt | base64。
アサーションの暗号化
SAML アサーションが暗号化されている場合は、Auth0 が復号をどのように処理するかを指定するために、接続に対して追加の値を設定する必要があります。Auth0 でエンタープライズ接続を作成する
次に、Auth0 で SAML エンタープライズ接続を作成して設定し、X.509 署名証明書をアップロードする必要があります。この作業は、Auth0 Dashboard または Management API のいずれかを使用して実行できます。Auth0 Dashboard を使用してエンタープライズ接続を作成する
-
Auth0 Dashboard > Authentication > Enterprise に移動し、SAML を見つけて
+を選択します。
- 接続の詳細を入力し、Create: を選択します。

- Login Experience view で、この接続を使用したユーザーのログイン方法を設定します。
Optional フィールドは Universal Login でのみ使用できます。Classic Login を使用しているお客様には、Add ボタン、Button display name、Button logo URL は表示されません。
- 連携を完了するために必要な管理者権限がある場合は、Continue をクリックして、IdP の設定に必要なカスタムパラメーターを確認します。そうでない場合は、必要な設定を管理者が調整できるよう、表示された URL を管理者に共有してください。
Management API を使用してエンタープライズ接続を作成する
Management API を使用して SAML 接続を作成することもできます。その場合は、各 SAML 設定項目を手動で指定することも、設定値を含む SAML メタデータドキュメントを指定することもできます。指定した値を使用して接続を作成する
Create a Connection endpoint にPOST リクエストを送信します。MGMT_API_ACCESS_TOKEN、CONNECTION_NAME、SIGN_IN_ENDPOINT_URL、SIGN_OUT_ENDPOINT_URL、および BASE64_SIGNING_CERT のプレースホルダー値は、それぞれ Management API の 、接続名、サインイン URL、サインアウト URL、Base64 エンコードされた署名証明書 (PEM または CER 形式) に必ず置き換えてください。
Auth0 CLI をお使いですか?まだの場合は、このコマンドを実行する前に CLI セッションのセットアップと認証を行ってください。
または、JSON では次のとおりです:
SAMLメタデータを使用して接続を作成する
各 SAML 設定項目を個別に指定する代わりに、設定値を含む SAML メタデータドキュメントを指定できます。SAML メタデータドキュメントを指定する場合は、ドキュメントの XML コンテンツ (metadataXml) またはドキュメントの URL (metadataUrl) のいずれかを指定できます。URL を指定した場合、コンテンツがダウンロードされるのは 1 回だけです。後でその URL の内容が変更されても、接続が自動的に再構成されることはありません。
SAML 接続の場合、メタデータ検出ドキュメントには 4 MB のサイズ制限が適用されます。この制限を超えると、Auth0 は SAML metadata document exceeded the maximum allowed size of 4 MB エラーを返します。
metadataXml オプションを使用して、ドキュメントの内容を指定します。
metadataUrl オプションを使用して、メタデータドキュメントの URL を指定します:
URL を指定した場合、コンテンツは 1 回だけダウンロードされます。以後 URL の内容が変更されても、接続が自動的に再構成されることはありません。
この処理が機能するのは、接続が
metadataUrl を使って手動で作成されている場合のみです。/api/v2/connections/CONNECTION_ID エンドポイントに PATCH リクエストを送信して、{options: {metadataUrl: '$URL'}} を含むボディを渡します。ここで、$URL は接続の作成時に使用したものと同じメタデータ URL です。まず、そのメタデータ URL を使って新しい一時的な接続を作成し、古い接続と新しい接続のプロパティを比較します。差分があれば、新しい接続を更新してから一時的な接続を削除します。
options.metadataUrlを使って SAML 接続を作成します。接続オブジェクトには、メタデータの情報が設定されます。- URL 上のメタデータの内容を更新します。
/api/v2/connections/CONNECTION_IDエンドポイントに{options: {metadataUrl: '$URL'}}を指定して PATCH リクエストを送信します。これで、接続オブジェクトは新しいメタデータの内容で更新されます。
カスタム Entity ID を指定する
カスタム Entity ID を指定するには、Management API を使用して、デフォルトのurn:auth0:YOUR_TENANT:YOUR_CONNECTION_NAME を上書きします。connection.options.entityID プロパティは、接続の初回作成時に設定するか、既存の接続を更新して設定します。
以下の JSON の例では、SAML IdP のメタデータ URL を使用して新しい SAML 接続を作成すると同時に、カスタム Entity ID も指定できます。Entity ID は接続名を使って生成されるため、引き続き一意です。
Auth0アプリケーションでエンタープライズ接続を有効にする
新しいSAMLエンタープライズ接続を使用するには、まずAuth0アプリケーションで接続を有効にする必要があります。マッピングを設定する
Mappings ビューを選択し、{} 内にマッピングを入力して、Save を選択します。
