IdP からメタデータと証明書を取得する
| Field | Description |
|---|---|
| Sign In URL | SAML 認証リクエストの送信先 URL です。シングルサインオン (SSO) エンドポイントとも呼ばれます。 |
| Sign Out URL | SAML ログアウトリクエストの送信先 URL です。シングルログアウト (SLO) エンドポイントとも呼ばれます。 |
| X509 Signing Certificate | IdP によってデジタル署名された認証アサーションの署名を SP が検証するために必要な公開鍵証明書です。Auth0 は .pem 形式と .cer 形式に対応しています。 |
Auth0 で SAML Enterprise 接続を作成する
- ダッシュボード
- Management API
- Dashboard > Authentication > Enterprise に移動し、SAML を選択します。
- Create Connection を選択します。
- 次の設定を行います。
| Setting | Description |
|---|---|
| 接続名 | SAML-SP などの接続名を入力します。 |
| サインイン URL | IdP から取得した Sign In URL を入力します。 |
| X509 署名証明書 | IdP から取得した X509 署名証明書ファイル (.pem または .cer 形式) をアップロードします。 |
| サインアウトを有効にする | Sign Out URL フィールドを有効にします。 |
| サインアウト URL | IdP から取得した Sign Out URL を入力します。 |
| ユーザー ID 属性 | Auth0 の user_id プロパティにマッピングする SAML トークン内の属性を入力します。設定しない場合、user_id は次の項目から (記載順に) 取得されます。
|
| デバッグモード | より詳細なログを出力するには、Debug Mode を有効にします。 |
| リクエストに署名する | 署名付きの SAML 認証リクエストを有効にします。 |
| リクエスト署名アルゴリズム | ドロップダウンメニューから、使用するハッシュアルゴリズムを選択します。 |
| リクエスト署名アルゴリズム ダイジェスト | ドロップダウンメニューから、アサーションの有効性の検証に使用するアルゴリズムを選択します。 |
| プロトコルバインディング | ドロップダウンメニューから、次のいずれかのオプションを選択します。
|
| ログインごとにユーザープロファイル属性を同期 | ログインのたびにユーザープロファイル属性を同期するには、これを有効にします。 |
- Create を選択します。
プロキシゲートウェイ向けの SAML 接続を設定する
destinationUrl フィールドと recipientUrl フィールドをそれに合わせて設定する必要があります。
- Management API の Get a connection エンドポイントを使用して、SAML 接続の現在の設定を取得します。
- 返されたレスポンスから
optionsオブジェクトの値をコピーします。 optionsオブジェクトに次のフィールドを追加します。
| Field | Type | Value |
|---|---|---|
destinationUrl | String | プロキシゲートウェイの URL。 |
recipientUrl | String | プロキシゲートウェイの URL。 |
- 更新した
optionsオブジェクト全体をリクエストボディに含めて、Management API の Update a connection エンドポイントを呼び出します。
リクエストテンプレートをカスタマイズする
AuthnRequest オブジェクトが含まれます。このオブジェクトに使用するテンプレートはカスタマイズできます。
- Dashboard > Authentication > Enterprise > SAML に移動し、対象の接続を選択します。
- Settings ビューに切り替え、Request Template フィールドを探します。
- テンプレートを編集します。
- 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@@ を使用できます。 |
Destination | Auth0 がリクエストを送信する URL。これは、その接続に設定された サインイン URL である必要があります。 |
ID | トランザクション ID。 |
IssueInstant | トランザクションのタイムスタンプ。 |
Issuer | urn 形式の SP のエンティティ ID。たとえば、 urn:auth0:<YOUR_AUTH0_TENANT_NAME>:<YOUR_AUTH0_CONNECTION_NAME> です。 |
LoginHint | ログインするユーザーの username またはメールアドレス。Identifier First Authentication を使用している場合、Auth0 はこの値を IdP に送信し、IdP のログインフォームに事前入力できます。 |
ProtocolBinding | プロトコルのバインディングタイプ。 |
ProviderName | リクエストを開始したアプリケーションの名前。常に Auth0 テナント名が返されます。 |
AssertServiceURLAndDestination | 非推奨。新しい構成では、代わりに AssertionConsumerServiceURL と Destination を使用してください。 |
IdP を設定する
接続をテストする
- Dashboard > Authentication > Enterprise > SAML に移動します。
- 作成した接続を見つけて … (3 点) メニューアイコンを選択し、Try を選択します。
- Universal Login ページが表示され、資格情報の入力を求められます。
- IdP に存在するユーザーのメールアドレスを入力します。Home Realm Discovery を設定している場合は、指定したドメインのいずれかに属するメールアドレスを入力してください。
- IdP のログイン画面にリダイレクトされたら、通常どおりログインします。
- Auth0 にリダイレクトされ、IdP から Auth0 に送信された認証アサーションの内容が表示されます。
接続のトラブルシューティング
- 各テストの前に、ブラウザーの閲覧履歴、Cookie、キャッシュを消去してください。これを行わないと、ブラウザーが最新の構成情報を反映できない場合や、実行に影響する古い Cookie が残っている場合があります。
- ブラウザーで Cookie が許可されており、JavaScript が有効になっていることを確認してください。
- トランザクションの HAR ファイルを取得 し、Auth0 SAML Tool を使用して SAML アサーションをデコードして内容を確認してください。