> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# アクションのトリガー：ログイン後 - APIオブジェクト

> Post-Loginアクショントリガー のAPIオブジェクトについて説明します。

Post-Login アクショントリガーの API オブジェクトには以下が含まれます。

## `api.access`

ログイン試行の拒否などでユーザーのログインアクセスを修正します。

### `api.access.deny(reason)`

現在のログイン試行を「拒否」としてマークします。これによりエンドユーザーがログインフローを完了できなくなります。ただし、このアクションから要求されたユーザー関連の他の副次的な影響（メタデータの変更など）はキャンセル*しません*。 このアクションの完了後、ログインフローはすぐに停止し、以降のアクションは実行されません。

`api`オブジェクトにリファレンスを返します。

| パラメーター   | 説明                                                                              |
| -------- | ------------------------------------------------------------------------------- |
| `reason` | *文字列* 。ログインを拒否するための、人間が理解できる説明。これは`error_description`として要求を開始したアプリケーションに送信されます。 |

## `api.accessToken`

発行されたアクセストークンを変更する要求。

### `api.accessToken.setCustomClaim(name, value)`

ログインフローの完了に発行されるアクセストークンへのカスタムクレームを設定します。

`api`オブジェクトにリファレンスを返します。

| パラメーター  | 説明                                     |
| ------- | -------------------------------------- |
| `name`  | *文字列* 。クレームの名前（これは完全修飾URLが必要な場合があります）。 |
| `value` | *すべての値*。クレームの値。                        |

### `api.accessToken.addScope(scope)`

ログインフローの完了に発行されるアクセストークンへのスコープを追加します。

`api`オブジェクトにリファレンスを返します。

| パラメーター  | 説明              |
| ------- | --------------- |
| `scope` | *文字列* 追加するスコープ。 |

### `api.accessToken.removeScope(scope)`

ログインフローの完了に発行されるアクセストークンへのスコープを削除します。

`api`オブジェクトにリファレンスを返します。

| パラメーター  | 説明              |
| ------- | --------------- |
| `scope` | *文字列* 削除するスコープ。 |

## `api.authentication`

現在のユーザーセッションの認証状態の変更を要求します。

### `api.authentication.recordMethod(provider_url)`

現在のセッションで完了したカスタム認証メソッドを示します。このメソッドは、後続のログインの`event.authentication.methods`配列で可能になります。

**重要** ：この API は`PostLogin`Actions の`onContinuePostLogin` 機能でのみ可能です。言い換えると、これは`api.redirect.sendUserTo()`を介してユーザーをリダイレクトした後、カスタム認証メソッドの完了を記録するために使用できます。

`api`オブジェクトにリファレンスを返します。

| パラメーター         | 説明                            |
| -------------- | ----------------------------- |
| `provider_url` | *文字列*。完了したカスタム認証方法の IDを示すURL。 |

### `api.authentication.challengeWith(factor, options)`

1 つ以上の指定された多要素認証の要素でユーザーチャレンジを行います。このメソッドは、まずデフォルトのオプションでチャレンジし、追加の要素が提供された場合にはユーザーが異なるオプションを選択できるようにします。ユーザーが、提供されたどの要素でも登録していない場合（デフォルトと追加要素の両方を含む）、コマンドは失敗します。

**注意** ：このメソッドは、テナント内で MFA を有効または無効にする既存のポリシーやルールを上書きします。

| パラメーター    | 説明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `factor`  | *オブジェクト*。`type`フィールドを含むオブジェクト。`type`は、デフォルトのMFA要素またはユーザーチャレンジに使用される要素を指定するために使用される文字列です。<br />対応する値には次のものが含まれます：<br /><ul> <li>`otp`</li> <li>`recovery-code`</li> <li>`email`</li> <li>`push-notification`</li> <ul> <li>`otpFallback``false`に設定されている場合、ユーザーはプッシュ通知ファクターのOTPフォールバックオプションを使用できません。</li> </ul> <li>`phone`</li> <ul> <li>`preferredMethod: voice`</li> <li>`preferredMethod: sms`</li> <li>`preferredMethod: both`</li> </ul> <li>`webauthn-platform`</li> <li>`webauthn-roaming`</li> </ul> 例<br />`` api.authentication.challengeWith({ type: 'phone', options: { preferredMethod: 'both'} });` `` |
| `options` | *任意のオブジェクト*。任意の`additionalFactors`フィールドを含むオブジェクト。<br />`additionalFactors` は、MFAチャレンジを完了する際にユーザーが選択できる他のファクターを指定するために使用される配列です。`type`フィールドと同じ値をサポートします。<br />例<br />`` api.authentication.challengeWith({ type: 'otp' }, { additionalFactors: [{ type: 'push-notification' }, { type: 'phone' }] })` ``                                                                                                                                                                                                                                                                                                             |

### `api.authentication.challengeWithAny(factors)`

MFA チャレンジをトリガーし、ユーザーに提供されたリストから好みのファクターを選択させます。このメソッドは、次の条件に従って、ユーザーに特定のチャレンジではなく、ファクターピッカーを提示します：

* 複数のファクターが指定された場合、ファクターピッカーはユーザーに表示されます。
* ユーザーが指定ファクターの 1 つでのみに登録されている場合（またはファクターが 1 つだけ指定されている場合）、ファクターピッカーはスキップされます。
* ユーザーがどの指定ファクターでも登録していない場合、チャレンジコマンドは失敗します。

**注意** ：このメソッドは、テナント内で MFA を有効または無効にする既存のポリシーやルールを上書きします。

| パラメーター    | 説明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `factors` | *配列* 。`type`フィールドを含むオブジェクトの配列。`type`はチャレンジされた際、MFAファクターを指定するために使用される文字列です。<br />対応する値には次のものが含まれます：<br /><ul> <li>`otp`</li> <li>`recovery-code`</li> <li>`email`</li> <li>`push-notification`</li> <ul> <li> `otpFallback``true`に設定されている場合、ユーザーはプッシュ通知ファクターのOTPフォールバックオプションを使用できません。 </li> </ul> <li>`phone`</li> <ul> <li>`preferredMethod: voice`</li> <li>`preferredMethod: sms`</li> <li>`preferredMethod: both`</li> </ul> <li>`webauthn-platform`</li> <li>`webauthn-roaming`</li> </ul> |

### `api.authentication.enrollWith(factor, options)`

ユーザーが特定の MFA ファクターで登録するようにします。このメソッドは、ユーザーがデフォルトのファクターで登録するように最初は促しますが、追加の要素が提供された場合にはユーザーが異なるオプションを任意で選択できるようにします。ユーザーが提供されたすべてのファクター（デフォルトの値と追加要素の両方を含む）で登録済みの場合には、コマンドは失敗します。

**注意** ：このメソッドは、テナント内で MFA を有効または無効にする既存のポリシーやルールを上書きします。

| パラメーター    | 説明                                                                                                                                                                                                                                                                                                                                                                                                                                |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `factor`  | *オブジェクト*。`type`フィールドを含むオブジェクト。`type`は、ユーザーが登録の際に指示されるデフォルトのMFA要素を指定するために使用される文字列です。<br />対応する値には次のものが含まれます：<br /><ul> <li>`otp`</li> <li>`recovery-code`</li> <li>`push-notification`</li> <li>`phone`</li> <ul> <li>`preferredMethod: voice`</li> <li>`preferredMethod: sms`</li> <li>`preferredMethod: both`</li> </ul> <li>`webauthn-platform`</li> <li>`webauthn-roaming`</li> </ul>                                          |
| `options` | *任意のオブジェクト*。任意の`additionalFactors`フィールドを含むオブジェクト。<br />`additionalFactors`は、ユーザーが登録の際に選択できる他のファクターを指定するために使用される配列です。`type`フィールドと同じ値をサポートします。<br />例<br />`` api.authentication.enrollWith({ type: 'otp' }, { additionalFactors: [{ type: 'push-notification' }, { type: 'phone' }] })` `` 例<br />`` api.authentication.enrollWith({ type: 'otp' }, { additionalFactors: [{ type: 'push-notification' }, { type: 'phone' }] })` `` |

### `api.authentication.enrollWithAny(factors)`

ユーザーに提示リストから登録に使う MFA ファクターを選択させます。このメソッドは、次の条件に従って、ユーザーにデフォルトのファクタープロンプトではなく、ファクターピッカーを提示します：

* 複数のファクターが指定された場合、ファクターピッカーがユーザーに表示されます。
* ユーザーが 1 つを除く他のすべての提示ファクターで登録済みの場合は、ファクターピッカーはスキップされ、ユーザーは残りのファクターで登録するように促されます。
* ユーザーが提供されたすべてのファクターで登録済みの場合には、コマンドは失敗します。

**注意** ：このメソッドは、テナント内で MFA を有効または無効にする既存のポリシーやルールを上書きします。

| パラメーター    | 説明                                                                                                                                                                                                                                                                                                                                                                                       |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `factors` | *配列* 。`type`フィールドを含むオブジェクトの配列。`type`は、ユーザーが登録の際に指示されるデフォルトのMFA要素を指定するために使用される文字列です。<br />対応する値には次のものが含まれます：<br /><ul> <li>`otp`</li> <li>`recovery-code`</li> <li>`push-notification`</li> <li>`phone`</li> <ul> <li>`preferredMethod: voice`</li> <li>`preferredMethod: sms`</li> <li>`preferredMethod: both`</li> </ul> <li>`webauthn-platform`</li> <li>`webauthn-roaming`</li> </ul> |

### `api.authentication.setPrimaryUser(primary_user_id)`

ログイントランザクションのプライマリユーザーを変更します。ユーザー連携を必要とするシナリオでは、ログインを始めるために使用するユーザー ID は、もはや個別のユーザーとして存在しないことがあります。そのような ID は既存ユーザーのセカンダリアイデンティティーになります。そのような状況では、`setPrimaryUser()`関数を使用して、ログインの対象を変更することができます。

重要：

* セキュリティの脆弱性をもたらすことなくアカウントをリンクすることで、悪意のあるアクターが正当なユーザーアカウントにアクセスできるようになる可能性があります。したがって、テナントはリンクが行われる前に両方のアカウントの認証を要求すべきです。
* ログインの認証に使用される ID は、`primary_user_id`で参照されるユーザーのセカンダリ ID の中に含まれている必要があります。ログインは失敗し、その結果トークンは発行されません。

| パラメーター            | 説明                                         |
| ----------------- | ------------------------------------------ |
| `primary_user_id` | *文字列* 。トークンが発行される（`sub`クレーム）べきユーザーのユーザーID。 |

## `api.cache`

実行間で維持されるデータの保管と取得を行います。

### `api.cache.delete(key)`

提供された key にキャッシュ済みの値が存在する場合は、それを記述したレコードを削除します。

値がキャッシュから削除されると、`CacheWriteResult`オブジェクトに`type: "success"`を含めて返します。操作に失敗すると、`type: "error"`を返します。エラーの場合には、返すオブジェクトに`code`プロパティを含めて、失敗の詳細を示します。

| パラメーター | 説明                          |
| ------ | --------------------------- |
| `key`  | *文字列*。キャッシュに保管されているレコードのキー。 |

### `api.cache.get(key)`

提供された`key`にキャッシュ済みの値が存在する場合は、それを記述したレコードを取得します。レコードが見つかった場合には、返されたオブジェクトの`value`プロパティにキャッシュ済みの値があります。

提供された`key`にキャッシュ済みの項目が存在する場合は、それを記述したレコードを返します。キャッシュレコードは、キャッシュされた値のある`value`プロパティと、レコードの最大有効期限を UNIX エポックからのミリ秒単位で示す`expires_at`プロパティを含むオブジェクトです。

**重要：** このキャッシュは、短命で一時的なデータ向けに設計されています。項目が所定のライフタイム内であったとしても、後のトランザクションでは利用できないかもしれません。

| パラメーター | 説明                          |
| ------ | --------------------------- |
| `key`  | *文字列*。キャッシュに保管されているレコードのキー。 |

### `api.cache.set(key, value, [options])`

指定された key のキャッシュに文字列値を保管または更新します。

このキャッシュに保管された値は、それを設定するトリガーにスコープが限定されます。これは[アクションのキャッシュ制限](/docs/ja-jp/customize/actions/limitations)の対象になります。

このように保管された値には、指定された`ttl`または`expires_at`値までのライフタイムがあります。ライフタイムが指定されない場合には、デフォルトのライフタイムである 15 分が使用されます。ライフタイムは[アクションのキャッシュ制限](/docs/ja-jp/customize/actions/limitations)が定める最大値を超過してはいけません。

値の保存に成功すると、`CacheWriteSuccess`を返します。成功しなかった場合は`CacheWriteError`を受け取ります。

| パラメーター               | 説明                                                                                                                                                                                      |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `key`                | *文字列*。キャッシュに保管されているレコードのキー。                                                                                                                                                             |
| `value`              | *文字列*。保管するレコードの値。                                                                                                                                                                       |
| `options`            | *任意のオブジェクト* 。キャッシュの動作を調整するためのオプション。                                                                                                                                                     |
| `options.expires_at` | *任意の数値* 。UNIXエポックからのミリ秒単位で指定した絶対有効期限です。キャッシュ済みのレコードは早期に削除されることはあっても、`expires_at`で指定された時点を過ぎて存続することはありません。<br />*注意：* この値が`ttl`で指定されている場合は指定するべきではありません。両方で指定された場合、2つの中で早い方の有効期限が適用されます。 |
| `options.ttl`        | *任意の数値* 。このキャッシュエントリーのミリ秒単位で指定した存続時間。キャッシュ済みのレコードは早期に削除されることはあっても、`ttl`で指定された時点を過ぎて存続することはありません。<br />*注意：* この値が`expires_at`で指定されている場合は指定するべきではありません。両方で指定された場合、2つの中で早い方の有効期限が適用されます。   |

## `api.idToken`

発行された ID トークンを変更する要求。

### `api.idToken.setCustomClaim(name, value)`

ログインフローの完了時に発行される ID トークンへのカスタムクレームを設定します。

`api`オブジェクトへの参照を返します。

| パラメーター  | 説明                                     |
| ------- | -------------------------------------- |
| `name`  | *文字列* 。クレームの名前（これは完全修飾URLが必要な場合があります）。 |
| `value` | *任意の値*。クレームの値。                         |

## `api.multifactor`

ログイン試行でも多要素認証のための要件を設定します。

### `api.multifactor.enable(provider, options)`

このログインフローの多要素認証を有効にします。有効にした場合、ユーザーは設定された多要素認証チャレンジを完了する必要があります。実際の多要素認証チャレンジは、ログインフローの終了時に延期されます。

`api`オブジェクトにリファレンスを返します。

| パラメーター                         | 説明                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `provider`                     | *文字列* 。使用する多要素認証プロバイダーの名前、または`any`の値を使用して、構成されたプロバイダーのいずれかを使用します。<br />次の値に対応しています。<br /><ul> <li>`any`任意の設定されたチャレンジを使用します。</li> <li>`duo`Duo多要素認証プロバイダーを使用します。</li> <li> `google-authenticator`Google Authenticatorプロバイダーを使用します。 </li> <li>`guardian`Guardianプロバイダーを使用します。</li> <li> `none`MFAフローのトリガーを防ぐために設定されたチャレンジを使用しません。 </li> </ul>                                                                |
| `options`                      | *任意のオブジェクト* 。多要素認証チャレンジを有効にする追加のオプション。                                                                                                                                                                                                                                                                                                                                                                     |
| `options.allowRememberBrowser` | *任意のブール値* 。プロバイダーが`google-authenticator`または`duo`に設定されている場合、ユーザーは30日ごとにMFAを促されます。プロバイダーが`guardian`に設定されている場合、MFAプロンプトが登録チェックボックスを表示して、 ユーザーに登録するかしないかを選択させます。デフォルトは`false`です。詳細はこちらをご覧ください： [ 多要素認証ページをカスタマイズする ](https://auth0.com/docs/secure/multi-factor-authentication/customize-mfa)                                                                                                                  |
| `options.providerOptions`      | *任意のオブジェクト* 。チャレンジを設定する追加オプションで、`duo`プロバイダーに使用可能です。<br />対応オプションは次の通りです：<br /><ul> <li> `host` *文字列*。これはDuoアカウントのAPIホスト名の値です。 </li> <li> `ikey` *文字列* 。これはDuoアカウントからのクライアントID（旧Integration key（統合キー））値です。 </li> <li> `skey` *文字列* 。これはDuoアカウントからのクライアントID（旧Secret key（シークレットキー））です。 </li> <li> `username` *任意の文字列* 。DuoSecurityのユーザー名として、いくつかのプロファイル属性を使用します。またこれは、Duoに登録されたユーザーを持っている場合に便利です。 </li> </ul> |

## `api.user`

ログインしているユーザーのメタデータに対してアプリケーション固有の変更を行います。

*注意： **これらのメソッドを呼び出しても、即座にメタデータのアップデートは行われません** 。同じフローの複数アクションから複数回呼び出すことができます。またエンジンは変更を集約し、 **フローが完了する前にメタデータを一度に更新します** 。*

### `api.user.setAppMetadata(name, value)`

ログインしているユーザーに対してアプリケーションメタデータを設定します。app\_metadata に保存されたデータは、ユーザーが編集することはできません。

注意：このトリガーは Management API を呼び出し、Management API レート制限を消費します。この要求がレート制限に達し、タイムアウト制限時間内に再試行できなかった場合は、`Deadline Exceeded`エラーを受け取ります。

`api`オブジェクトへの参照を返します。

| パラメーター  | 説明                                                            |
| ------- | ------------------------------------------------------------- |
| `name`  | *文字列*。メタデータプロパティの名前。                                          |
| `value` | *任意の値*。メタデータプロパティの値。メタデータプロパティを 削除するために`null`に設定されていることがあります。 |

### `api.user.setUserMetadata(name, value)`

ログインしているユーザーの一般メタデータを設定します。

注意：このトリガーは Management API を呼び出し、Management API レート制限を消費します。この要求がレート制限に達し、タイムアウト制限時間内に再試行できなかった場合は、`Deadline Exceeded`エラーを受け取ります。

`api`オブジェクトへの参照を返します。

| パラメーター  | 説明                                                            |
| ------- | ------------------------------------------------------------- |
| `name`  | *文字列*。メタデータプロパティの名前。                                          |
| `value` | *任意の値* 。メタデータプロパティの値。メタデータプロパティを削除するために`null`に設定されていることがあります。 |

## `api.redirect`

### `api.redirect.encodeToken(options)`

リダイレクト先（`sendUserTo`経由）のクエリ文字列パラメーターとして使用可能で、信頼性を対象のエンドポイントで証明可能なデータを含むセッショントークンを作成します。対象のエンドポイントは共有シークレットで JWT の署名を確認して、信頼性とデータの整合性を検証できます。

JWT 文字列を返します。

| パラメーター                     | 説明                                                                                                             |
| -------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `options`                  | *オプション* 。結果のURLのクエリパラメーターに機密データをどのように暗号化するのかを構成します。                                                            |
| `options.expiresInSeconds` | *数値*。トークンが期限切れになるまでの秒数（デフォルトは900）。                                                                             |
| `options.payload`          | *オプション* 。リダイレクト先に渡され、信頼性と整合性が証明可能であるべきデータ。                                                                     |
| `options.secret`           | *文字列* 。リダイレクト先と共有され、JWTの署名に使用されるシークレット。シークレット値はシークレットとして保管され、`event.secrets['SECRET_NAME']`を使用して取得されなければなりません。 |

### `api.redirect.sendUserTo(url, options)`

アクションが完了した直後に、ブラウザーを目的の`url`にリダイレクトさせます。

`api`オブジェクトへの参照を返します。

| パラメーター          | 説明                                                |
| --------------- | ------------------------------------------------- |
| `url`           | *文字列*。リダイレクト先のURL。                                |
| `options`       | *オプション* 。リダイレクトURLに追加される任意のクエリ文字列パラメーターを表すオブジェクト。 |
| `options.query` | *オプション* 。リダイレクトURLに追加する追加のクエリ文字列パラメーター。           |

### `api.redirect.validateToken(options)`

JWT トークンに含めて`/continue`エンドポイントに渡された暗号化済みのデータを取得すると同時に、そのデータの信頼性と整合性を検証します。

JWT トークンのペイロードを返します。

| パラメーター                       | 説明                                                                          |
| ---------------------------- | --------------------------------------------------------------------------- |
| `options`                    | *オプション* 。リダイレクト後に、JWTトークンに含めて`/continue`エンドポイントに渡された暗号化済みのデータを取得するためのオプション。 |
| `options.secret`             | *文字列*。トークンの暗号化に使用されたシークレット。                                                 |
| `options.tokenParameterName` | *文字列* 。`/continue`エンドポイントに送信されたクエリまたは本文のパラメーターの名前。デフォルト：`session_token`     |

### `api.rules`

現在のトランザクション中に実行したルールについての情報を取得します。

### `api.rules.wasExecuted(ruleId)`

現在のトランザクションにおけるこのアクションの前に特定のルールが実行されたかを確認します。アクションへの移行中に「そのルールからこのアクションに移行する」ロジックが重複して実行されることを防ぐために使用できます。このメソッドでは、指定した ID のルールがこのトランザクションで実行されたことがある場合には`true`が返され、 そうでなかった場合は`false`が返されます。

| パラメーター   | 説明             |
| -------- | -------------- |
| `ruleId` | 文字列。確認するルールID。 |

## `api.samlResponse`

ログインしているユーザーの SAML 応答を修正します。

### `api.samlResponse.setAttribute(attribute, value)`

カスタムの SAML 属性を設定します。

失敗した操作は、`Error`をスローします。エラーについて、返されたオブジェクトは、失敗の性質を示すメッセージを持ちます。

値は、`SAMLValue`タイプでなければならず、次のものが可能です。
`string | number | boolean | null | Array`

| パラメーター      | 説明                                                              |
| ----------- | --------------------------------------------------------------- |
| `attribute` | *文字列*。設定されるSAML属性。                                              |
| `value`     | *SAMLValue* 。SAMLアサーションの値。属性プロパティを削除するために`null`に設定されていることがあります。 |

### `api.samlResponse.setAudience(audience)`

SAML 応答のオーディエンスを変更します。デフォルトは、SAMLRequest の発行者です。

| パラメーター     | 説明                      |
| ---------- | ----------------------- |
| `audience` | *文字列*。設定されるSAMLオーディエンス。 |

### `api.samlResponse.setEncryptionPublicKey(publicKey)`

SAML アサーションの暗号化に使用される公開鍵を任意に指定します。公開鍵はサービスプロバイダーから取得されるべきです。公開鍵と証明書の両方が指定される必要があります。

| パラメーター      | 説明                |
| ----------- | ----------------- |
| `publicKey` | *文字列*。設定される公開鍵です。 |

### `api.samlResponse.setRecipient(recipient)`

SAML アサーションの受信者を変更します（SubjectConfirmationData）。デフォルトは、`SAMLRequest`の`AssertionConsumerUrl`または SAMLRequest が送られなかった場合は Callback URL です。

| パラメーター      | 説明                    |
| ----------- | --------------------- |
| `recipient` | *文字列*。設定されるSAML受信者です。 |

### `api.samlResponse.setCreateUpnClaim(createUpnClaim)`

UPN クレームが作成されるべきかどうかを指示します。デフォルトは`true`です。

| パラメーター           | 説明                         |
| ---------------- | -------------------------- |
| `createUpnClaim` | *ブール値*切り替えて、UPNクレームを作成します。 |

### `api.samlResponse.setPassthroughClaimsWithNoMapping(passthroughClaimsWithNoMapping)`

`true`の場合（デフォルト）、共通プロファイルにマッピングされていない各クレームは、Auth0 がそれらを通じて出力アサーションに渡します。`false`の場合、それらのクレームはマップされません。

| パラメーター                           | 説明                                           |
| -------------------------------- | -------------------------------------------- |
| `passthroughClaimsWithNoMapping` | *ブール値*{" "} クレームを出力アサーションにマッピングするかどうかを指定します。 |

### `api.samlResponse.setMapUnknownClaimsAsIs(mapUnknownClaimsAsIs)`

`passthroughClaimsWithNoMapping`が`true`で、これが`false`の場合（デフォルト）、共通プロファイルにマッピングされていない各クレームは、Auth0 がプレフィックス（[http://schema.auth0.com）を追加します。\`true\`の場合、クレームをそのままパススルーします。](http://schema.auth0.com）を追加します。`true`の場合、クレームをそのままパススルーします。)

| パラメーター                 | 説明                          |
| ---------------------- | --------------------------- |
| `mapUnknownClaimsAsIs` | *ブール値*クレームをそのままマッピングするかどうか。 |

### `api.samlResponse.setMapIdentities(mapIdentities)`

`true`の場合（デフォルト）、これによりプロバイダー（Google、ADFS、AD など）や、利用可能な場合アクセストークンなどの追加情報がトークンに付け足されます

| パラメーター          | 説明                    |
| --------------- | --------------------- |
| `mapIdentities` | *ブール値*IDをマッピングするかどうか。 |

### `api.samlResponse.setDestination(destination)`

SAML 応答の宛先。指定されていない場合、SAMLRequest の AsserionConsumerUrl になり、SAMLRequest がない場合は、Callback URL になります。

| パラメーター        | 説明              |
| ------------- | --------------- |
| `destination` | *文字列*SAML応答の宛先。 |

### `api.samlResponse.setLifetimeInSeconds(lifetimeInSeconds)`

トークンの有効期限（秒）。デフォルトでは`3600`秒（1 時間）です。

| パラメーター              | 説明                |
| ------------------- | ----------------- |
| `lifetimeInSeconds` | *数字*トークンの有効期限（秒）。 |

### `api.samlResponse.setSignResponse(signResponse)`

SAML 応答が署名されるべきかどうか。デフォルトでは、SAML アサーションは署名されますが、SAML 応答は署名されません。`true`の場合、SAML アサーションではなく SAML 応答が署名されます。デフォルトは`false`です。

| パラメーター         | 説明                        |
| -------------- | ------------------------- |
| `signResponse` | *ブール値*SAML応答が署名されるべきかどうか。 |

### `api.samlResponse.setNameIdentifierFormat(nameIdentifierFormat)`

名前 ID 形式を設定します。デフォルトは`urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`です。

| パラメーター                 | 説明           |
| ---------------------- | ------------ |
| `nameIdentifierFormat` | *文字列*名前IDの形式 |

### `api.samlResponse.setNameIdentifierProbes(nameIdentifierProbes)`

Auth0 はこの配列の各属性に順番に名前を付けようとします。その一つが 値を持つ場合は、それを件名/名前 ID に使用します。順序：

1. [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier)
   （`user_id`からマッピング）
2. [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress（](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress（)
   `email`からマッピング）
3. [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name) （
   `name`からマッピング）

| パラメーター                 | 説明                           |
| ---------------------- | ---------------------------- |
| `nameIdentifierProbes` | *文字の配列*名前識別子を取得するために試す属性の配列。 |

### `api.samlResponse.setAuthnContextClassRef(authnContextClassRef)`

デフォルトは`urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified`です。

| パラメーター                 | 説明                         |
| ---------------------- | -------------------------- |
| `authnContextClassRef` | *文字列*AuthnContextClassRef。 |

### `api.samlResponse.setSigningCert(signingCert)`

SAML 要求の検証に使用される公開鍵証明書を任意に示します。設定された場合、SAML 要求の署名が必要になります。サンプル値は次のようになります：
`"-----BEGIN
CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all
the other lines..]-----END CERTIFICATE-----\n"`.

| パラメーター        | 説明                             |
| ------------- | ------------------------------ |
| `signingCert` | *文字列*SAML要求の検証に使用される任意の公開鍵証明書。 |

### `api.samlResponse.setIncludeAttributeNameFormat(includeAttributeNameFormat)`

`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 はアサーションに設定されません。デフォルトは`true`です。

| パラメーター                       | 説明                                   |
| ---------------------------- | ------------------------------------ |
| `includeAttributeNameFormat` | *ブール値*NameFormatは属性名に基づいて推測するべきかどうか。 |

### `api.samlResponse.setTypedAttributes(typedAttributes)`

`true`に設定された場合、要素の`xs:type`を推測します。型は、`xs:string`、`xs:boolean`、`xs:double`、`xs:anyType`です。`false`に設定された場合、すべての`xs:type`は`xs:anyType`になります。デフォルトは`true`です。

| パラメーター            | 説明                           |
| ----------------- | ---------------------------- |
| `typedAttributes` | *ブール値*`xs:type`が推測されるべきかどうか。 |

### `api.samlResponse.setEncryptionCert(encryptionCert)`

SAML アサーションの暗号化に使用される証明書を任意に指定します。証明書はサービスプロバイダーから取得されるべきです。証明書と公開鍵の両方が指定される必要があります。サンプル値は次のようになります：
`"-----BEGIN
CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all
the other lines..]-----END CERTIFICATE-----\n"`.

| パラメーター           | 説明                               |
| ---------------- | -------------------------------- |
| `encryptionCert` | *文字列*SAMLアサーションの暗号化に使用される任意の証明書。 |

### `api.samlResponse.setCert(cert)`

デフォルトでは、Auth0 は SAML 応答やアサーションに署名するためのテナントに割り当てられた秘密鍵/公開鍵のペアを使用します。非常に特殊な場合、独自の証明書と秘密鍵を提供することが望ましいかもしれません。

証明書と秘密鍵の両方が指定される必要があります。

サンプル値は次のようになります：
`"-----BEGIN
CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all
the other lines..]-----END CERTIFICATE-----\n"`.

| パラメーター | 説明                               |
| ------ | -------------------------------- |
| `cert` | *文字列*SAML応答またはアサーションに署名する任意の証明書。 |

### `api.samlResponse.setKey(key)`

デフォルトでは、Auth0 は SAML 応答やアサーションに署名するためのテナントに割り当てられた秘密鍵/公開鍵のペアを使用します。非常に特殊な場合、独自の証明書と秘密鍵を提供することが望ましいかもしれません。

この秘密鍵は機密であるため、
**［Actions のシークレット機能を追加する］** を使用することをおすすめします。詳細はこちらから：
最初のアクションを書く

証明書と秘密鍵の両方が指定される必要があります。

サンプル値は次のようになります：
`"-----BEGIN PRIVATE
KEY-----\nnMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all
the other lines..]-----END PRIVATE KEY-----\n"`.

| パラメーター | 説明                               |
| ------ | -------------------------------- |
| `key`  | *文字列*SAML応答またはアサーションに署名する任意の秘密鍵。 |

### `api.samlResponse.setSignatureAlgorithm(signatureAlgorithm)`

**廃止** ：デフォルトは`rsa-sha256`

| ですパラメーター             | 説明                                                               |
| -------------------- | ---------------------------------------------------------------- |
| `signatureAlgorithm` | `rsa-sha256` \| `rsa-sha1`。 `rsa-sha1`は使用すべきではありません。安全性に問題があります。 |

### `api.samlResponse.setDigestAlgorithm(digestAlgorithm)`

**廃止** ：デフォルトは`sha256`

です。

| パラメーター            | 説明                                                       |
| ----------------- | -------------------------------------------------------- |
| `digestAlgorithm` | `sha256` \| `sha1`。 `rsa-sha1`は使用すべきではありません。安全性に問題があります。 |

## `api.session`

ユーザーセッションの取り消しなどでセッションを管理します。

### `api.session.revoke(reason, options)`

現在のトランザクションを拒否し、セッションを取り消し、関連するリフレッシュトークンを削除します。ユーザーはフローを完了できなくなり、それ以降のアクションは実行されません。

**注意** この方法はセッション取り消しの[OIDC Back-Channel Logout Initiator（OIDC バックチャネルログアウトイニシエーター）](https://auth0.com/docs/authenticate/login/logout/back-channel-logout/oidc-back-channel-logout-initiators)を開始し、現在のセッションと関係するすべてのアプリケーションからユーザーをログアウトさせます。リフレッシュトークンに関連するセッションの削除は非同期の処理です。

`api`オブジェクトにリファレンスを返します。

| パラメーター    | 説明                                                                                                                                                                                           |
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `reason`  | *文字列*。ログインを拒否するための、人間が理解できる説明。これはerror\_descriptionとして要求を開始したアプリケーションに送信されます。                                                                                                                |
| `options` | *preserveRefreshTokens*。ブール値で、取り消し後も同じsession\_idのセッションに結びついたリフレッシュトークンが保存されるかを特定するために使われます。デフォルトはfalseです。<br />例<br />`` api.session.revoke('reason', {'preserveRefreshTokens':true} );` `` |

## `api.refreshToken`

リフレッシュトークンの取り消しなどによってリフレッシュトークンを管理します。

### `api.refreshToken.revoke(reason)`

現在のトークン交換を拒否し、リフレッシュトークンを取り消します。これによりユーザーはフローを完了できなくなり、それ以降のアクションは実行されません。

`api`オブジェクトに参照を返します。

| パラメーター   | 説明                                                                                   |
| -------- | ------------------------------------------------------------------------------------ |
| `reason` | *文字列* 。リフレッシュトークンを拒否するための、人間が理解できる説明。これはerror\_descriptionとして要求を開始したアプリケーションに送信されます。 |
