> ## 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.

> SAMLアサーションと、SAML および WS-Fed のプロトコルパラメーターをカスタマイズする方法について説明します。

# SAMLアサーションをカスタマイズする

<Tooltip tip="Security Assertion Markup Language（SAML）: パスワードを使わずに2者間で認証情報を交換するための標準化されたプロトコル。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=SAML">SAML</Tooltip>アサーションと、SAML および WS-Federation のプロトコルパラメーターをカスタマイズできます。

<div id="auth0-as-identity-provider">
  ## アイデンティティプロバイダーとしてのAuth0
</div>

Auth0が<Tooltip tip="Identity Provider（IdP）: デジタルアイデンティティを保存・管理するサービス。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=identity+provider">アイデンティティプロバイダー</Tooltip>として機能する場合は、Auth0 Dashboardでアドオンを設定するか、ルールを使用してSAMLアサーションをカスタマイズできます。

<div id="use-the-dashboard">
  ### Auth0 Dashboard を使用する
</div>

1. [Auth0 Dashboard > アプリケーション > アプリケーション](https://manage.auth0.com/#/applications/\{yourClientId}/addons) に移動し、表示するアプリケーション名を選択します。
2. **Addons** タブを選択します。
3. **SAML2 Web App** トグルを有効にすると、設定とオプションが表示されます。

   <Frame>
     <img src="https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6dJgYkcOgMZ73HVTkAWt1x/fe9dbbf306e6c587cb3326c00a3b4e1f/2025-02-27_13-59-00.png?fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=02e6b08c46ca79dacc371032b125cb3b" alt="Auth0 Dashboard アプリケーション アプリケーション Addons タブ SAML2 Web App 設定タブ" width="606" height="757" data-path="docs/images/cdy7uua7fh8z/6dJgYkcOgMZ73HVTkAWt1x/fe9dbbf306e6c587cb3326c00a3b4e1f/2025-02-27_13-59-00.png" />
   </Frame>
4. **設定** タブでは、次のようなカスタマイズを行えます。

   * SAML リクエストのデフォルトの発行者以外の audience を指定します。
   * 受信者を指定します。
   * プロファイル属性を特定の属性ステートメントにマッピングします。
   * 署名アルゴリズムまたはダイジェストアルゴリズムを変更します。
   * アサーションのみに署名するか、レスポンス全体に署名するかを指定します。

<div id="use-actions">
  ### Actions を使用する
</div>

Actions を使用すると、SAML レスポンスにより高度なカスタマイズや動的なカスタマイズを追加できます。Actions で行ったカスタマイズは、Auth0 Dashboard の **Application Addons** ビューで行ったカスタマイズより優先されます。

`api.samlResponse` オブジェクトは、デフォルトの SAML 属性を上書きしたり、新しい属性を追加したりするために使用します。

<div id="example-changing-the-saml-token-lifetime-and-use-upn-as-nameid">
  #### 例: SAML tokenの有効期間を変更し、NameIDとしてUPNを使用する
</div>

```js lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
	api.samlResponse.setLifetimeInSeconds(36000);
	if (event.user.upn) {
		api.samlResponse.setAttribute('http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier', 'upn');
	}
};
```

<div id="example-include-user_metadata-attributes-in-an-assertion">
  #### 例: user\_metadata 属性をアサーションに含める
</div>

```js lines theme={null}
exports.onExecutePostLogin = (event, api) => {
	event.user.user_metadata = event.user.user_metadata || {};
	event.user.user_metadata.color = 'purple';
	api.samlResponse.setAttribute('http://schemas.xmlsoap.org/ws/2005/05/identity/claims/color', event.user.user_metadata.color);
};
```

<div id="saml-assertion-attributes">
  ## SAMLアサーションの属性
</div>

以下は、SAMLアサーションのカスタマイズ用属性の一覧です。

| 属性                               | 型       | 説明                                                                                                                                                                                                                                                                                                                                                             |
| -------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `audience`                       | 文字列     | SAMLアサーションのaudience。デフォルトはSAMLRequestの発行者です。                                                                                                                                                                                                                                                                                                                   |
| `recipient`                      | 文字列     | SAML アサーションの受信先 (`SubjectConfirmationData`) 。デフォルトでは、SAMLRequest が送信された場合は `AssertionConsumerUrl`、送信されなかった場合はコールバック URL です。                                                                                                                                                                                                                                    |
| `issuer`                         | 文字列     | URL形式のSAMLアイデンティティプロバイダーの一意の識別子。                                                                                                                                                                                                                                                                                                                               |
| `mappings`                       | オブジェクト  | Auth0 プロファイルと SAML アサーション内の出力属性とのマッピングです。デフォルトのマッピングは上記のとおりです。                                                                                                                                                                                                                                                                                                 |
| `createUpnClaim`                 | ブール値    | UPN クレームを作成するかどうかを指定します。デフォルトは `true` です。                                                                                                                                                                                                                                                                                                                      |
| `passthroughClaimsWithNoMapping` | ブール値    | `true` の場合 (デフォルト) 、共通プロファイルにマッピングされていない各クレームは、出力アサーションにそのまま渡されます。`false` の場合、それらのクレームはマッピングされません。                                                                                                                                                                                                                                                             |
| `mapUnknownClaimsAsIs`           | ブール値    | `passthroughClaimsWithNoMapping` が `true` で、これが `false` (デフォルト) の場合、共通プロファイルにマッピングされていない各クレームに、Auth0 は `http://schema.auth0.com` というプレフィックスを追加します。`true` の場合は、クレームをそのまま渡します。                                                                                                                                                                                   |
| `mapIdentities`                  | 真偽値     | `true` の場合 (デフォルト) 、利用可能であれば、プロバイダー (Google、ADFS、AD など) や access token などの追加情報が token に含まれます。                                                                                                                                                                                                                                                                  |
| `signatureAlgorithm`             | 文字列     | SAML アサーションまたはレスポンスの署名に使用する署名アルゴリズムです。デフォルトは `rsa-sha1` です。                                                                                                                                                                                                                                                                                                    |
| `digestAlgorithm`                | 文字列     | SAML アサーションまたはレスポンスのダイジェスト値を計算するためのダイジェストアルゴリズム。デフォルトは `sha1` です。                                                                                                                                                                                                                                                                                              |
| `destination`                    | オブジェクト  | SAMLレスポンスの送信先。指定しない場合は、SAMLRequest の `AssertionConsumerUrl`、SAMLRequest がない場合はコールバックURLになります。                                                                                                                                                                                                                                                                  |
| `lifetimeInSeconds`              | 整数      | トークンの有効期限です。デフォルトは`3600`秒 (1時間) です。                                                                                                                                                                                                                                                                                                                            |
| `signResponse`                   | 真偽値     | SAML レスポンスに署名するかどうか。デフォルトでは、SAML アサーションには署名されますが、SAML レスポンスには署名されません。`true` の場合は、SAML アサーションではなく SAML レスポンスに署名されます。                                                                                                                                                                                                                                            |
| `nameIdentifierFormat`           | string  | デフォルトは `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified` です。                                                                                                                                                                                                                                                                                             |
| `nameIdentifierProbes`           | array   | Auth0 は、この配列内の各属性を順番に試します。いずれか 1 つに値がある場合は、それが `Subject/NameID` として使用されます。順序は次のとおりです: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier (mapped from user_id)`, `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress (mapped from email)`, `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` (mapped from name). |
| `authnContextClassRef`           | string  | 既定値は `urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified` です。                                                                                                                                                                                                                                                                                                  |
| `typedAttributes`                | boolean | デフォルトは `true` です。`true` に設定すると、要素の `xs:type` を推定します。型としては `xs:string`、`xs:boolean`、`xs:double `、`xs:anyType` があります。`false` に設定すると、すべての `xs:type` が `xs:anyType` になります。                                                                                                                                                                                         |
| `includeAttributeNameFormat`     | 真偽値     | デフォルトは `true` です。`true` に設定すると、属性名に基づいて `NameFormat` を推定します。`NameFormat` の値は `urn:oasis:names:tc:SAML:2.0:attrname-format:uri`、`urn:oasis:names:tc:SAML:2.0:attrname-format:basic`、`urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified` です。`false` に設定した場合、アサーションでは属性 `NameFormat` は設定されません。                                                              |
| `logout`                         | オブジェクト  | SAMLログアウトを制御します。これには2つのプロパティを含めることができます。`callback` (string) には、Auth0がログアウトのリクエストとレスポンスを送信する送信先である、サービスプロバイダー (クライアントアプリケーション) のシングルログアウトサービスURLが含まれます。また、`slo_enabled` (boolean) は、Auth0がサービスプロバイダーにセッションの終了を通知するかどうかを制御します。デフォルト値は`true` (サービスプロバイダーに通知する) です。                                                                                                |
| `binding`                        | 文字列     | 任意で、SAMLのログアウト応答に使用するプロトコルバインディングを指定します。デフォルトでは Auth0 は `HTTP-POST` を使用しますが、`"binding"` を `"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"` に設定すると、`HTTP-Redirect` に切り替えられます。                                                                                                                                                                             |
| `signingCert`                    | string  | 必要に応じて、SAMLリクエストの検証に使用する公開鍵証明書を指定します。設定した場合、SAMLリクエストには署名が必須になります。値の例は `"-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all the other lines..]-----END CERTIFICATE-----\n"` です。                                                                                                                             |

<div id="learn-more">
  ## 詳細はこちら
</div>

* [SAML IDプロバイダー起点のシングルサインオンを設定する](/docs/ja-jp/authenticate/protocols/saml/saml-sso-integrations/identity-provider-initiated-single-sign-on)
