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

> post-login Action トリガーの API オブジェクトについて説明します。

# API オブジェクト

post-login Actions トリガーの API オブジェクトには、次のものが含まれます。

<div id="apiaccess">
  ## `api.access`
</div>

ログインするユーザーのアクセス権を変更できます。たとえば、ログイン試行を拒否できます。

<div id="apiaccessdenyreason">
  ### `api.access.deny(reason)`
</div>

現在のログイン試行を拒否としてマークします。これにより、エンドユーザーは
ログインフローを完了できなくなります。これは、この Action によって要求された、メタデータの
変更などのユーザー関連の副作用を取り消すものでは*ありません*。このアクションの完了後、ログインフローは直ちに停止し、
以降の Actions は実行されません。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="reason" type="string">
    ログインを拒否する理由を、人間が理解できる形式で説明します。これは
    エンドユーザー向けのインターフェースに直接表示される場合があります。
  </ParamField>
</Expandable>

<div id="apiaccesstoken">
  ## `api.accessToken`
</div>

発行するアクセストークンを変更するようリクエストします。

<div id="apiaccesstokensetcustomclaimkey-value">
  ### `api.accessToken.setCustomClaim(key, value)`
</div>

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

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    クレームの名前 (完全修飾URLを指定する必要がある場合があります) 。
  </ParamField>

  <ParamField body="value" type="unknown">
    クレームの値。
  </ParamField>
</Expandable>

<div id="apiaccesstokenaddscopescope">
  ### `api.accessToken.addScope(scope)`
</div>

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

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="scope" type="string">
    追加するスコープ。
  </ParamField>
</Expandable>

<div id="apiaccesstokenremovescopescope">
  ### `api.accessToken.removeScope(scope)`
</div>

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

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="scope" type="string">
    削除するスコープです。
  </ParamField>
</Expandable>

<div id="apiauthentication">
  ## `api.authentication`
</div>

現在のユーザーのsessionのauthentication状態の変更を要求します。

<div id="apiauthenticationchallengewithfactor-options">
  ### `api.authentication.challengeWith(factor, options)`
</div>

指定された認証要素と任意の追加認証要素を使用して、多要素認証のチャレンジを要求します。

多要素認証のチャレンジが要求されると、ユーザーがそのチャレンジを完了するまで、後続のActionsは実行されません。ユーザーは、次のいずれかの場合にチャレンジを満たしたと見なされます。

1. デフォルトの認証要素に対するチャレンジを正常に完了した場合。
2. `additionalFactors`で指定された追加認証要素のいずれかに対するチャレンジを正常に完了した場合。

要求された認証要素のいずれかが現在のトランザクションですでに正常にチャレンジを完了している場合、その認証要素は無視されます。

要求された認証要素がテナントで有効になっていない場合、その認証要素は無視されます。ユーザーが登録していない認証要素が要求された場合も、その認証要素は無視されます。要求された認証要素がいずれも有効になっていない、またはユーザーに登録されていない場合、認証トランザクションは失敗します (つまり、ログインは完了しません) 。

<Note>
  ユーザーがチャレンジの要件をまだ満たしていない場合、このメソッドにより認証要素のチャレンジ画面が表示されます。`additionalFactors`が指定されている場合、ユーザーは必要に応じて別の認証要素を選択できます。
</Note>

```js Challenge with a specific factor theme={null}
api.authentication.challengeWith({
  type: 'phone',
  options: { preferredMethod: 'both' }
});
```

```js Challenge with additional factors theme={null}
api.authentication.challengeWith({
  type: 'otp'
}, {
  additionalFactors: [{
    type: 'push-notification'
  }, {
    type: 'phone'
  }]
});
```

```js Challenge with push notification and disable OTP fallback theme={null}
api.authentication.challengeWith({
  type: 'push-notification',
  options: { otpFallback: false }
});
```

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="factor" type="factorselector">
    初回のチャレンジに使用する認証要素の種類とそのオプションを表すオブジェクトです。

    <Expandable title="認証要素のプロパティ">
      <ParamField body="type" type="string">
        `push-notification`、`phone`、`email`、`otp`、`webauthn-roaming`、`webauthn-platform`、`recovery-code` などの認証要素の種類です。
        使用可能な値: `otp`、`email`、`webauthn-platform`、`webauthn-roaming`、`recovery-code`
      </ParamField>

      <ParamField body="options" type="dictionary">
        指定した種類の認証要素を設定するための追加オプションです。
        任意。
      </ParamField>
    </Expandable>
  </ParamField>

  <ParamField body="options" type="challengewithoptions">
    `additionalFactors` をプロパティとして指定することもできる追加オプションです。認証要素固有のオプション (例: `push-notification` の `otpFallback`) は `factor.options` に指定します。
    任意。

    <Expandable title="オプションのプロパティ">
      <ParamField body="additionalFactors" type="array of objects">
        任意。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiauthenticationchallengewithanyfactors">
  ### `api.authentication.challengeWithAny(factors)`
</div>

指定された認証要素のいずれかを使用して、多要素認証チャレンジを要求します (最初に認証要素選択画面が表示されます) 。

多要素認証チャレンジが要求されると、ユーザーがそのチャレンジを完了するまで、後続のActionsは実行されません。ユーザーは、次のいずれかの状況でチャレンジを満たしたと見なされます。

1. いずれかの認証要素に対するチャレンジを正常に完了した場合。

要求された認証要素のいずれかが現在のトランザクションですでに正常にチャレンジされている場合、その認証要素は無視されます。

要求された認証要素がテナントで有効になっていない場合は無視されます。ユーザーが登録していない認証要素が要求された場合も無視されます。要求された認証要素がいずれも有効化または登録されていない場合、認証トランザクションは失敗します (つまり、loginは完了しません) 。

<Note>
  ユーザーがチャレンジの要件をまだ満たしていない場合、このメソッドによって認証要素選択画面が表示されます。優先する認証要素がある場合は、`api.authentication.challengeWith()`メソッドの使用を推奨します。渡される認証要素が1つだけの場合、または有効な認証要素が1つだけの場合は、認証要素選択画面は表示されません。
</Note>

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="factors" type="array of objects">
    認証要素の配列。
  </ParamField>
</Expandable>

<div id="apiauthenticationenrollwithfactor-options">
  ### `api.authentication.enrollWith(factor, options)`
</div>

指定された認証要素と任意の追加認証要素を使用して、多要素認証への登録を要求します。

多要素認証への登録が要求されると、ユーザーがその登録を
完了するまで、後続のActionsは実行されません。

要求された認証要素のいずれかが現在のトランザクションですでに登録済みであるか、チャレンジに正常に応答済みの場合は、
無視されます。

tenantで有効化されていない認証要素が要求された場合は、無視されます。
ユーザーがすでに登録している認証要素が要求された場合は、無視されます。
要求された認証要素のいずれも有効化されておらず、かつ未登録でない場合、認証
トランザクションは失敗します (つまり、ログインは完了しません) 。

```js Enroll with additional factors theme={null}
api.authentication.enrollWith({
  type: 'otp'
}, {
  additionalFactors: [{
    type: 'push-notification'
  }, {
    type: 'phone'
  }]
});
```

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="factor" type="enrollmentfactorselector">
    初回登録時のプロンプトで使用する認証要素の種類と、そのオプションを指定するオブジェクト。

    <Expandable title="認証要素のプロパティ">
      <ParamField body="type" type="string">
        `push-notification`、`phone`、`otp`、`webauthn-roaming`、`webauthn-platform`、`recovery-code` などの認証要素の種類。
        使用できる値: `otp`、`webauthn-platform`、`webauthn-roaming`、`recovery-code`、`push`、`push-notification`
      </ParamField>

      <ParamField body="options" type="dictionary">
        指定した種類の認証要素を設定するための追加オプション。
        任意。
      </ParamField>
    </Expandable>
  </ParamField>

  <ParamField body="options" type="enrollwithoptions">
    プロパティとして `additionalFactors` も指定できる追加オプション。
    任意。

    <Expandable title="オプションのプロパティ">
      <ParamField body="additionalFactors" type="array of objects">
        任意。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiauthenticationenrollwithanyfactors">
  ### `api.authentication.enrollWithAny(factors)`
</div>

指定された認証要素のいずれかを使用して多要素認証への登録をリクエストします (まず認証要素選択画面が表示されます) 。

多要素認証への登録がリクエストされると、ユーザーが登録を完了するまで、後続のActionsは実行されません。

リクエストされた認証要素のいずれかが現在のトランザクションですでに正常に登録されている場合、その認証要素は無視されます。

テナントで有効化されていない認証要素がリクエストされた場合、その認証要素は無視されます。
ユーザーがすでに登録している認証要素がリクエストされた場合、その認証要素は無視されます。
リクエストされた認証要素のうち、有効化されていて未登録のものが1つもない場合、認証
トランザクションは失敗します (つまり、ログインは完了しません) 。

<Note>
  優先する認証要素がある場合は、`api.authentication.enrollWith()`メソッドの使用をお勧めします。渡された認証要素が1つだけの場合、または有効な認証要素が1つだけの場合、認証要素選択画面は表示されません。
</Note>

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="factors" type="array of objects">
    追加の認証要素の配列。
  </ParamField>
</Expandable>

<div id="apiauthenticationrecordmethodprovider_url">
  ### `api.authentication.recordMethod(provider_url)`
</div>

現在のセッションでカスタム認証方法が完了したことを記録します。この認証方法は、以降のログイン時に
`event.authentication.methods` 配列で利用できるようになります。

**重要**: この API は、`PostLogin` Actions の `onContinuePostLogin`
関数内でのみ使用できます。つまり、`api.redirect.sendUserTo()` でユーザーを
リダイレクトした後、カスタム認証方法の完了を記録するために使用できます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="provider_url" type="string">
    完了した認証方法を一意に表す `http:` または `https:` の URL。
  </ParamField>
</Expandable>

<div id="apiauthenticationsetprimaryuserprimary_user_id">
  ### `api.authentication.setPrimaryUser(primary_user_id)`
</div>

ログイントランザクションのプライマリユーザーを変更します。

ユーザーのリンクが必要なシナリオでは、ログインの開始に使用されたユーザーアイデンティティが、個別のユーザーとして存在しなくなることがあります。そのアイデンティティが、既存ユーザーのセカンダリアイデンティティになっている場合があります。このような場合は、`setPrimaryUser()` 関数を使用して、ログインのsubjectを変更できます。

**重要**: 安全でない方法でアカウントをリンクすると、悪意のある第三者が正規のユーザーアカウントにアクセスできる可能性があります。

**重要**: ログインの認証に使用されるアイデンティティは、`primary_user_id` で参照されるユーザーのセカンダリアイデンティティのいずれかである必要があります。そうでない場合、ログインは失敗し、tokensは発行されません。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="primary_user_id" type="string">
    tokensを発行するユーザーのユーザー ID (`sub` claim) 。
  </ParamField>
</Expandable>

<div id="apiidtoken">
  ## `api.idToken`
</div>

発行される ID トークンを変更します。

<div id="apiidtokensetcustomclaimkey-value">
  ### `api.idToken.setCustomClaim(key, value)`
</div>

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

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    クレームの名前 (完全修飾 URL を指定する必要がある場合があります) 。
  </ParamField>

  <ParamField body="value" type="unknown">
    クレームの値。
  </ParamField>
</Expandable>

<div id="apimultifactor">
  ## `api.multifactor`
</div>

ログイン試行に多要素認証を必須にするか、必須設定を解除します。

<div id="apimultifactorenableprovider-options">
  ### `api.multifactor.enable(provider, options)`
</div>

このログインフローで多要素認証を有効にします。有効にすると、ユーザーは設定された
多要素認証チャレンジを完了する必要があります。実際の多要素認証チャレンジは、
ログインフローの最後に実行されます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="provider" type="string">
    使用する多要素認証プロバイダーの名前、または設定済みの任意の
    プロバイダーを使用するための値 `"any"`。
    使用可能な値: `none`, `guardian`, `google-authenticator`, `duo`, `any`
  </ParamField>

  <ParamField body="options" type="enablemultifactoroptions">
    多要素認証チャレンジを有効にするための追加オプションです。
    任意。

    <Expandable title="options のプロパティ">
      <ParamField body="allowRememberBrowser" type="boolean">
        provider が `google-authenticator` または `duo` に設定されている場合、ユーザーには30日に1回
        MFA が求められます。provider が `guardian` に設定されている場合、MFA プロンプトには、ユーザーが
        登録するかどうかを選択できるチェックボックスが表示されます。デフォルトは `false` です。詳細については、
        [多要素認証ページをカスタマイズする](https://auth0.com/docs/secure/multi-factor-authentication/customize-mfa)を参照してください。
        任意。
      </ParamField>

      <ParamField body="providerOptions" type="object">
        チャレンジを設定するための追加オプションです。`duo` プロバイダーでのみ使用できます。
        任意。

        <Expandable title="providerOptions のプロパティ">
          <ParamField body="host" type="string">
            Duo アカウントの API ホスト名の値です。
          </ParamField>

          <ParamField body="ikey" type="string">
            Duo アカウントの Client ID (旧称 Integration key) の値です。
          </ParamField>

          <ParamField body="skey" type="string">
            Duo アカウントの Client secret (旧称 Secret key) の値です。
          </ParamField>

          <ParamField body="username" type="string">
            プロファイルの属性を DuoSecurity のユーザー名として使用します。ユーザーがすでに Duo に登録済みの場合にも便利です。
            任意。
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiredirect">
  ## `api.redirect`
</div>

外部リダイレクトを設定し、開始します。

<div id="apiredirectencodetokenoptions">
  ### `api.redirect.encodeToken(options)`
</div>

クエリ文字列パラメーターとしてリダイレクト先 (`sendUserTo` 経由) に使用できるsession tokenを作成します。
このtokenには、リダイレクト先のエンドポイントが真正性を証明する必要があるデータが含まれます。リダイレクト先のエンドポイントでは、
共有secretを使用してJWTの署名を検証することで、データの真正性と完全性を
確認できます。

共有secretは、Actionの**secret**として保存する必要があり、
`event.secrets['<secret_name>']`から読み取れます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="options" type="tokencreationoptions">
    生成されるURLのクエリパラメータに機密データをエンコードする方法を
    設定します。

    <Expandable title="optionsのプロパティ">
      <ParamField body="expiresInSeconds" type="number">
        このtokenの有効期限が切れるまでの秒数。
        任意。
      </ParamField>

      <ParamField body="payload" type="dictionary">
        リダイレクト先に渡すデータ。このデータの真正性と完全性は
        証明可能である必要があります。
      </ParamField>

      <ParamField body="secret" type="string">
        リダイレクト先と共有するJWTへの署名に使用するsecret。この
        secret値は**secret**として保存し、
        `event.secrets['<secret_name>']`を使用して取得する必要があります。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiredirectsendusertourl-options">
  ### `api.redirect.sendUserTo(url, options)`
</div>

このアクションの完了直後に、ログインパイプラインでブラウザーを対象の `url` にリダイレクトします。`createUrl` ヘルパーメソッドを使用すると、対象の `url` のクエリパラメータとしてデータをエンコードする処理を簡略化でき、対象の エンドポイント でデータの真正性と完全性を検証できます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="url" type="string" />

  <ParamField body="options" type="sendusertooptions">
    任意。

    <Expandable title="options プロパティ">
      <ParamField body="query" type="dictionary">
        リダイレクト URL に追加するクエリ文字列パラメーターを表すオブジェクト。
        任意。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiredirectcanredirect">
  ### `api.redirect.canRedirect()`
</div>

現在のtransactionでユーザーをリダイレクトできるかどうかを示します。`oauth2-resource-owner` や `oauth2-refresh-token` などの一部のプロトコルでは、ユーザーをリダイレクトできません。`prompt=none` を含むrequestもリダイレクトの対象外です。

<div id="apiredirectvalidatetokenoptions">
  ### `api.redirect.validateToken(options)`
</div>

`/continue` エンドポイントに渡された JWT token にエンコードされたデータを取得し、
その真正性と完全性を検証します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="options" type="validatesessiontokenoptions">
    リダイレクト後に `/continue` エンドポイントに渡された JWT token にエンコードされたデータを取得するための Options。

    <Expandable title="options properties">
      <ParamField body="secret" type="string" />

      <ParamField body="tokenParameterName" type="string">
        /continue エンドポイントに送信された query または body パラメータの名前。
        任意です。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiuser">
  ## `api.user`
</div>

ログイン中のユーザーのメタデータを変更します。

<div id="apiusersetappmetadatakey-value">
  ### `api.user.setAppMetadata(key, value)`
</div>

ログイン中のユーザーにアプリケーション固有のメタデータを設定します。

注: このメソッドはコールバック内では使用しないでください。呼び出しても、メタデータはすぐには更新されません。
同じフロー内の複数の Actions でこのメソッドを複数回呼び出すことができ、エンジンが変更を集約して、
フローの完了前にメタデータをまとめて更新します。この関数は、オブジェクト形式のメタデータでのみ使用できます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    設定するメタデータプロパティ。
  </ParamField>

  <ParamField body="value" type="unknown">
    メタデータプロパティの値。メタデータプロパティを削除するには、`null` を設定できます。
  </ParamField>
</Expandable>

<div id="apiusersetusermetadatakey-value">
  ### `api.user.setUserMetadata(key, value)`
</div>

ログイン中のユーザーの一般的なメタデータを設定します。

注: このメソッドはコールバック内では使用しないでください。このメソッドを呼び出しても、メタデータはすぐには更新されません。
同じフロー内の複数のActionsからこのメソッドを複数回呼び出すことができ、エンジンが変更を集約して、
フローの完了前にメタデータをまとめて更新します。この関数は、オブジェクト形式のメタデータでのみ使用できます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    設定するメタデータプロパティ。
  </ParamField>

  <ParamField body="value" type="unknown">
    メタデータプロパティの値。メタデータプロパティを削除するには、`null` に設定できます。
  </ParamField>
</Expandable>

<div id="apicache">
  ## `api.cache`
</div>

キャッシュを変更します。

<div id="apicachedeletekey">
  ### `api.cache.delete(key)`
</div>

指定したキーにキャッシュ値を表すレコードが存在する場合は、削除します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    削除するキャッシュレコードのキー。
  </ParamField>
</Expandable>

<div id="apicachegetkey">
  ### `api.cache.get(key)`
</div>

指定されたキーに対応するキャッシュ値のレコードが存在する場合は、それを取得します。レコードが見つかった場合、キャッシュ値は返されたオブジェクトの `value` プロパティに格納されています。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    キャッシュに保存されているレコードのキー。
  </ParamField>
</Expandable>

<div id="apicachesetkey-value-options">
  ### `api.cache.set(key, value, options)`
</div>

指定したキーのキャッシュに文字列値を保存または更新します。

このキャッシュに保存される値は、それを設定したトリガーにスコープされます。
また、[Actions Cache Limits](https://auth0.com/docs/customize/actions/limitations) の制限が適用されます。

この方法で保存された値の有効期間は、指定した
`ttl` または `expires_at` の値までとなります。有効期間を指定しない場合は、デフォルトで
15 分間となります。有効期間は、[Actions Cache Limits](https://auth0.com/docs/customize/actions/limitations) に記載されている最大
期間を超えることはできません。

**重要**: このキャッシュは、短期間のみ使用する一時的なデータ向けに設計されています。指定した有効期間内であっても、
後続のトランザクションでは項目を利用できない場合があります。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    保存するレコードのキー。
  </ParamField>

  <ParamField body="value" type="string">
    保存するレコードの値。
  </ParamField>

  <ParamField body="options" type="cachesetoptions">
    キャッシュの動作を調整するためのオプション。
    任意。

    <Expandable title="options プロパティ">
      <ParamField body="expires_at" type="number">
        Unix エポックからのミリ秒単位の絶対有効期限。
        キャッシュされたレコードはそれより早く削除される場合がありますが、
        指定した `expires_at` を過ぎて保持されることはありません。

        *注*: `ttl` にも値を
        指定している場合は、この値を指定しないでください。両方のオプションを指定した場合は、
        2 つのうち早い方の有効期限が使用されます。
        任意。
      </ParamField>

      <ParamField body="ttl" type="number">
        このキャッシュエントリのミリ秒単位の有効期間。
        キャッシュ値はそれより早く削除される場合がありますが、
        指定した `ttl` を過ぎて保持されることはありません。

        *注*: `expires_at` にも値を
        指定している場合は、この値を指定しないでください。両方のオプションを指定した場合は、
        2 つのうち早い方の有効期限が使用されます。
        任意。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apisamlresponse">
  ## `api.samlResponse`
</div>

カスタム SAML 設定と属性を構成します。

<div id="apisamlresponsesetattributeattribute-value">
  ### `api.samlResponse.setAttribute(attribute, value)`
</div>

認証済みユーザーに発行する SAML assertion に属性を設定します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="attribute" type="string">
    設定する SAML 属性。
  </ParamField>

  <ParamField body="value" type="object">
    SAML クレーム の値。この値を `null` または
    `undefined` に設定すると、assertion から クレーム が削除されます。
  </ParamField>
</Expandable>

<div id="apisamlresponsesetaudienceaudience">
  ### `api.samlResponse.setAudience(audience)`
</div>

SAML assertion の audience。
デフォルトは、SAMLRequest の発行者です。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="audience" type="string" />
</Expandable>

<div id="apisamlresponsesetrecipientrecipient">
  ### `api.samlResponse.setRecipient(recipient)`
</div>

SAML assertion の受信者 (SubjectConfirmationData) 。
デフォルトでは、SAMLRequest の AssertionConsumerUrl を使用します。SAMLRequest が送信されていない場合は、コールバック URL を使用します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="recipient" type="string" />
</Expandable>

<div id="apisamlresponsesetcreateupnclaimcreateupnclaim">
  ### `api.samlResponse.setCreateUpnClaim(createUpnClaim)`
</div>

UPN クレームを作成するかどうかを指定します。デフォルトは true です。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="createUpnClaim" type="boolean" />
</Expandable>

<div id="apisamlresponsesetpassthroughclaimswithnomappingpassthroughclaimswithnomapping">
  ### `api.samlResponse.setPassthroughClaimsWithNoMapping(passthroughClaimsWithNoMapping)`
</div>

true (デフォルト) の場合、共通プロファイルにマッピングされていない各クレームは、出力 assertion にそのまま含まれます。
false の場合、それらのクレームはマッピングされません。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="passthroughClaimsWithNoMapping" type="boolean" />
</Expandable>

<div id="apisamlresponsesetmapunknownclaimsasismapunknownclaimsasis">
  ### `api.samlResponse.setMapUnknownClaimsAsIs(mapUnknownClaimsAsIs)`
</div>

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

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="mapUnknownClaimsAsIs" type="boolean" />
</Expandable>

<div id="apisamlresponsesetmapidentitiesmapidentities">
  ### `api.samlResponse.setMapIdentities(mapIdentities)`
</div>

true (デフォルト) の場合、Provider (Google、ADFS、AD など) や、利用可能な場合はaccess tokenなどの追加情報がtokenに追加されます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="mapIdentities" type="boolean" />
</Expandable>

<div id="apisamlresponsesetsignaturealgorithmsignaturealgorithm">
  ### `api.samlResponse.setSignatureAlgorithm(signatureAlgorithm)`
</div>

SAML assertion またはレスポンスの署名に使用する署名アルゴリズム。
デフォルトは `rsa-sha256` です。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="signatureAlgorithm" type="string">
    使用可能な値: `rsa-sha256`
  </ParamField>
</Expandable>

<div id="apisamlresponsesetsignaturealgorithmsignaturealgorithm">
  ### `api.samlResponse.setSignatureAlgorithm(signatureAlgorithm)`
</div>

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="signatureAlgorithm" type="string">
    使用できる値: `rsa-sha1`
  </ParamField>
</Expandable>

<div id="apisamlresponsesetdigestalgorithmdigestalgorithm">
  ### `api.samlResponse.setDigestAlgorithm(digestAlgorithm)`
</div>

SAML assertion またはレスポンスのダイジェストを計算するためのダイジェストアルゴリズム。
デフォルトは sha256 です。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="digestAlgorithm" type="string">
    許可される値: `sha256`
  </ParamField>
</Expandable>

<div id="apisamlresponsesetdigestalgorithmdigestalgorithm">
  ### `api.samlResponse.setDigestAlgorithm(digestAlgorithm)`
</div>

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="digestAlgorithm" type="string">
    設定可能な値: `sha1`
  </ParamField>
</Expandable>

<div id="apisamlresponsesetdestinationdestination">
  ### `api.samlResponse.setDestination(destination)`
</div>

SAML レスポンスの送信先。指定しない場合は、SAMLRequest の AssertionConsumerUrl、SAMLRequest がない場合はコールバック URL になります。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="destination" type="string" />
</Expandable>

<div id="apisamlresponsesetlifetimeinsecondslifetimeinseconds">
  ### `api.samlResponse.setLifetimeInSeconds(lifetimeInSeconds)`
</div>

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

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="lifetimeInSeconds" type="number" />
</Expandable>

<div id="apisamlresponsesetsignresponsesignresponse">
  ### `api.samlResponse.setSignResponse(signResponse)`
</div>

SAML レスポンスに署名するかどうかを指定します。
デフォルトではSAML assertionに署名され、SAML レスポンスには署名されません。
trueの場合、SAML assertionではなくSAML レスポンスに署名されます。
デフォルトはfalseです。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="signResponse" type="boolean" />
</Expandable>

<div id="apisamlresponsesetnameidentifierformatnameidentifierformat">
  ### `api.samlResponse.setNameIdentifierFormat(nameIdentifierFormat)`
</div>

デフォルト値は urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified です。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="nameIdentifierFormat" type="string" />
</Expandable>

<div id="apisamlresponsesetnameidentifierprobesnameidentifierprobes">
  ### `api.samlResponse.setNameIdentifierProbes(nameIdentifierProbes)`
</div>

Auth0 は、この配列内の属性を順に確認します。
値が設定されている属性があれば、その値を Subject/NameID として使用します。

確認順序は次のとおりです。

* [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier) (user\_id からマッピング)
  * [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress) (email からマッピング)
  * [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name) (name からマッピング)

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="nameIdentifierProbes" type="array of string" />
</Expandable>

<div id="apisamlresponsesetauthncontextclassrefauthncontextclassref">
  ### `api.samlResponse.setAuthnContextClassRef(authnContextClassRef)`
</div>

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

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="authnContextClassRef" type="string" />
</Expandable>

<div id="apisamlresponsesetsigningcertsigningcert">
  ### `api.samlResponse.setSigningCert(signingCert)`
</div>

SAML リクエストの検証に使用する公開鍵証明書を任意で指定します。
設定した場合、SAML リクエストには署名が必要になります。
値の例: "-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n\[..その他の行..]-----END CERTIFICATE-----\n"。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="signingCert" type="string" />
</Expandable>

<div id="apisamlresponsesetincludeattributenameformatincludeattributenameformat">
  ### `api.samlResponse.setIncludeAttributeNameFormat(includeAttributeNameFormat)`
</div>

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 です。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="includeAttributeNameFormat" type="boolean" />
</Expandable>

<div id="apisamlresponsesettypedattributestypedattributes">
  ### `api.samlResponse.setTypedAttributes(typedAttributes)`
</div>

true に設定すると、要素の xs:type を推定します。型には xs:string、xs:boolean、xs:double、xs:anyType があります。
false に設定すると、すべての xs:type が xs:anyType になります。
デフォルトは true です。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="typedAttributes" type="boolean" />
</Expandable>

<div id="apisamlresponsesetencryptioncertencryptioncert">
  ### `api.samlResponse.setEncryptionCert(encryptionCert)`
</div>

SAML アサーションの暗号化に使用する証明書を指定できます。
証明書はサービスプロバイダーから取得してください。
証明書と公開鍵の両方を指定する必要があります。
値の例: "-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n\[..all the other lines..]-----END CERTIFICATE-----\n"。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="encryptionCert" type="string" />
</Expandable>

<div id="apisamlresponsesetencryptionpublickeyencryptionpublickey">
  ### `api.samlResponse.setEncryptionPublicKey(encryptionPublicKey)`
</div>

SAML アサーション の暗号化に使用する公開鍵を任意で指定します。
公開鍵はサービスプロバイダーから取得してください。
公開鍵と証明書の両方を指定する必要があります。
値の例： "-----BEGIN PUBLIC KEY-----\nnMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n\[..その他のすべての行..]-----END PUBLIC KEY-----\n"

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="encryptionPublicKey" type="string" />
</Expandable>

<div id="apisamlresponsesetcertcert">
  ### `api.samlResponse.setCert(cert)`
</div>

デフォルトでは、Auth0 はテナントに割り当てられた秘密キーと公開鍵のペアを使用して、SAML Responseまたはアサーションに署名します。
非常に限定されたシナリオでは、独自の証明書と秘密キーを指定できます。

証明書と秘密キーの両方を指定する必要があります。
値の例は、"-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n\[..その他の行..]-----END CERTIFICATE-----\n" です。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="cert" type="string" />
</Expandable>

<div id="apisamlresponsesetkeykey">
  ### `api.samlResponse.setKey(key)`
</div>

デフォルトでは、Auth0 はテナントに割り当てられた秘密キーと公開鍵のペアを使用して、SAML Response または アサーション に署名します。
ごく限定的なシナリオでは、独自の証明書と秘密キーを指定できます。

この秘密キーは機密情報であるため、**Actions の Add Secret 機能を使用することをお勧めします**。
詳細については、こちらを参照してください: [https://auth0.com/docs/customize/actions/write-your-first-action#add-a-secret](https://auth0.com/docs/customize/actions/write-your-first-action#add-a-secret)

証明書と秘密キーの両方を指定する必要があります。
値の例: `"-----BEGIN PRIVATE KEY-----\nnMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..その他のすべての行..]-----END PRIVATE KEY-----\n"`

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string" />
</Expandable>

<div id="apisamlresponsesetrelaystaterelaystate">
  ### `api.samlResponse.setRelayState(relayState)`
</div>

サービスプロバイダーに戻る際に使用するRelayStateを指定できます

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="relayState" type="string" />
</Expandable>

<div id="apisamlresponsesetissuerissuer">
  ### `api.samlResponse.setIssuer(issuer)`
</div>

SAMLアサーションの発行者を任意で指定します。
既定値は `urn:auth0:TENANT` です。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="issuer" type="string" />
</Expandable>

<div id="apisamlresponsesetencryptionalgorithmencryptionalgorithm">
  ### `api.samlResponse.setEncryptionAlgorithm(encryptionAlgorithm)`
</div>

SAMLアサーションの暗号化アルゴリズムを設定します。
デフォルトは aes256-cbc です。

```js Set the encryption algorithm to aes256-gcm (recommended) theme={null}
api.samlResponse.setEncryptionAlgorithm('aes256-gcm');
```

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="encryptionAlgorithm" type="string">
    * 使用するアルゴリズム (`aes256-gcm` を推奨)
      指定可能な値: `aes256-gcm`
  </ParamField>
</Expandable>

<div id="apisamlresponsesetencryptionalgorithmencryptionalgorithm">
  ### `api.samlResponse.setEncryptionAlgorithm(encryptionAlgorithm)`
</div>

```js Set encryption algorithm to aes256-cbc (not recommended) theme={null}
api.samlResponse.setEncryptionAlgorithm('aes256-cbc');
```

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="encryptionAlgorithm" type="string">
    * 使用するアルゴリズム (aes256-cbc は非推奨)
      使用できる値: `aes256-cbc`
  </ParamField>
</Expandable>

<div id="apivalidation">
  ## `api.validation`
</div>

バリデーションエラーをスローして、ユーザーのログインを阻止します。

<div id="apivalidationerrorerrorcode-errormessage">
  ### `api.validation.error(errorCode, errorMessage)`
</div>

バリデーションエラーが発生した際にエラーをスローします。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="errorCode" type="string">
    バリデーションエラー用にユーザーが定義するエラーコード。
  </ParamField>

  <ParamField body="errorMessage" type="string">
    バリデーションエラー用にユーザーが定義するメッセージ。
  </ParamField>
</Expandable>

<div id="apirules">
  ## `api.rules`
</div>

現在のトランザクションでルールが実行されたかどうかを確認します。

<div id="apiruleswasexecutedruleid">
  ### `api.rules.wasExecuted(ruleId)`
</div>

指定した ID を持つ Rule が現在のトランザクションで実行されたかどうかを確認します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="ruleId" type="string">
    Rule の ID。
  </ParamField>
</Expandable>

<div id="apiprompt">
  ## `api.prompt`
</div>

カスタムプロンプトをレンダリングします。

<div id="apipromptrenderpromptid-promptoptions">
  ### `api.prompt.render(promptId, promptOptions)`
</div>

カスタムプロンプトをレンダリングします。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="promptId" type="string">
    プロンプト ID。
  </ParamField>

  <ParamField body="promptOptions" type="promptoptions">
    レンダリングオプション。
    任意。

    <Expandable title="promptOptions のプロパティ">
      <ParamField body="fields" type="dictionary">
        フィールドの値を設定するキーと値のペア (クライアント側) 。
        任意。
      </ParamField>

      <ParamField body="vars" type="dictionary">
        変数を注入するキーと値のペア (サーバー側) 。
        任意。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apirefreshtoken">
  ## `api.refreshToken`
</div>

現在のユーザーのリフレッシュトークンの変更を要求します。

<div id="apirefreshtokenrevokereason">
  ### `api.refreshToken.revoke(reason)`
</div>

\[Enterprise のお客様] 現在のユーザーのリフレッシュトークンを取り消し、現在のリフレッシュトークン交換の試行を拒否としてマークします。これにより、
エンドユーザーはリフレッシュトークン交換フローを完了できなくなり、現在使用中のリフレッシュトークンも取り消されます。
この Action の完了後、リフレッシュトークン交換フローは直ちに停止し、以降の Actions は実行されません。

このメソッドは、`event.transaction.protocol === "oauth2-refresh-token"` の場合にのみ、リフレッシュトークン交換フロー中で使用できます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="reason" type="string">
    リフレッシュトークン交換を拒否する理由を、人間が理解できる形式で説明します。これは、
    エンドユーザー向けのインターフェースに直接表示される場合があります。
  </ParamField>
</Expandable>

<div id="apirefreshtokensetexpiresatabsolute">
  ### `api.refreshToken.setExpiresAt(absolute)`
</div>

\[Enterprise のお客様] 現在のリフレッシュトークンの新しい絶対有効期限を設定します。
有効期限には、設定で指定されたリフレッシュトークンの最大有効期間を超える値は設定できません。
複数回呼び出された場合は、最も早い有効期限が適用されます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="absolute" type="number">
    必須。unix epoch からのミリ秒単位で指定する新しい絶対有効期限です。この時点以降、リフレッシュトークンは無効と見なされます。
  </ParamField>
</Expandable>

<div id="apirefreshtokensetidleexpiresatinactivity">
  ### `api.refreshToken.setIdleExpiresAt(inactivity)`
</div>

\[Enterprise のお客様] 現在のリフレッシュトークンに新しいアイドル有効期限を設定します。
有効期限には、設定で指定されたリフレッシュトークンの最大絶対有効期間を超える値を設定できません。
複数回呼び出した場合は、最も早い有効期限が適用されます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="inactivity" type="number">
    必須。unix epoch からのミリ秒単位で指定する、新しいアイドル有効期限。この期間中に使用されなかった場合、リフレッシュトークンは無効と見なされます。
  </ParamField>
</Expandable>

<div id="apirefreshtokensetmetadatakey-value">
  ### `api.refreshToken.setMetadata(key, value)`
</div>

現在のリフレッシュトークンのメタデータオブジェクトにキーと値のペアを設定します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    必須。メタデータオブジェクトに設定するキーです。
  </ParamField>

  <ParamField body="value" type="string">
    必須。メタデータオブジェクト内でこのキーに設定する値です。null を指定すると、該当するメタデータキーが削除されます。
  </ParamField>
</Expandable>

<div id="apirefreshtokendeletemetadatakey">
  ### `api.refreshToken.deleteMetadata(key)`
</div>

現在のリフレッシュトークンのメタデータオブジェクトからキーを削除します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    必須。メタデータオブジェクトから削除するキー。
  </ParamField>
</Expandable>

<div id="apirefreshtokenevictmetadata">
  ### `api.refreshToken.evictMetadata()`
</div>

現在のリフレッシュトークンのメタデータオブジェクトからすべてのキーを削除します。

<div id="apisession">
  ## `api.session`
</div>

現在のユーザーのセッションを変更するリクエスト。

<div id="apisessionrevokereason-options">
  ### `api.session.revoke(reason, options)`
</div>

\[Enterprise のお客様] 現在のユーザーセッションを取り消し、現在のログイン試行を拒否としてマークします。これにより、
エンドユーザーはログインフローを完了できなくなり、セッションも取り消されます。この Action の完了後、ログインフローは直ちに
停止し、以降の Actions は実行されません。

```js Revoke the session while preserving refresh tokens theme={null}
api.session.revoke('reason', { preserveRefreshTokens: true });
```

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="reason" type="string">
    ログインを拒否する理由を、人間が理解しやすい形で説明します。これは
    エンドユーザー向けのインターフェースに直接表示される場合があります。
  </ParamField>

  <ParamField body="options" type="sessionrevocationoptions">
    任意。

    <Expandable title="options プロパティ">
      <ParamField body="preserveRefreshTokens" type="boolean">
        デフォルトは false です。true の場合、システムはセッションを終了しますが、リフレッシュトークンは保持します。アプリケーションはリフレッシュトークンの有効期間中、引き続きアクセストークンを取得できます。
        任意。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apisessionsetexpiresatabsolute">
  ### `api.session.setExpiresAt(absolute)`
</div>

\[Enterprise のお客様] 現在のセッションの絶対有効期限を新たに設定します。
有効期限は、テナント設定で設定されている最大セッション有効期間を超えて設定することはできません。
複数回呼び出した場合は、最も早い有効期限が使用されます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="absolute" type="number">
    必須。unix epoch からのミリ秒で指定する新しい絶対有効期限です。この時刻を過ぎると、セッションは無効と見なされます。
  </ParamField>
</Expandable>

<div id="apisessionsetidleexpiresatinactivity">
  ### `api.session.setIdleExpiresAt(inactivity)`
</div>

\[Enterprise のお客様] 現在のセッションに新しいアイドル有効期限を設定します。
有効期限は、Tenant Settings で設定されているセッションの最大絶対有効期間を超えて設定することはできません。
複数回呼び出した場合は、最も早い有効期限が使用されます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="inactivity" type="number">
    必須。unix epoch からのミリ秒で指定する新しいアイドル有効期限です。この期間中にユーザー操作がない場合、セッションは無効と見なされます。
  </ParamField>
</Expandable>

<div id="apisessionsetcookiemodemode">
  ### `api.session.setCookieMode(mode)`
</div>

\[Enterprise のお客様] \[早期アクセス] 現在のセッションの Cookie モードを設定します。Cookie モードには「persistent」または「non-persistent」 (一時的) を指定できます。
これにより、ブラウザでセッション Cookie をどのように扱うかが決まります。

* 「persistent」: Cookie は有効期限が切れるか、ユーザーによって削除されるまで保存されます。
* 「non-persistent」 (一時的) : ブラウザを閉じると Cookie は削除されます。

setCookieMode を複数回呼び出した場合、有効になるのは最後の呼び出しのみです。「non-persistent」を設定した場合、ブラウザを閉じると Cookie は削除されますが、セッション自体は絶対有効期限またはアイドル有効期限に達するか、利用可能な API を通じて取り消されるまで有効です。Cookie モードの詳細については、ドキュメントを参照してください。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="mode" type="string">
    必須。現在のセッションの Cookie モードです。
    「persistent」または「non-persistent」 (一時的) を指定できます。
    許可される値: `persistent`, `non-persistent`
  </ParamField>
</Expandable>

<div id="apisessionsetmetadatakey-value">
  ### `api.session.setMetadata(key, value)`
</div>

\[Enterprise のお客様] \[早期アクセス] 現在のセッションのメタデータオブジェクトにキーと値のペアを設定します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    必須。メタデータオブジェクトに設定するキーです。
  </ParamField>

  <ParamField body="value" type="string">
    必須。メタデータオブジェクト内のキーに設定する値です。null を指定すると、指定したメタデータキーが削除されます。
  </ParamField>
</Expandable>

<div id="apisessiondeletemetadatakey">
  ### `api.session.deleteMetadata(key)`
</div>

\[Enterprise のお客様] \[早期アクセス] 現在のセッションのメタデータオブジェクトからキーを削除します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    必須。メタデータオブジェクトから削除するキー。
  </ParamField>
</Expandable>

<div id="apisessionevictmetadata">
  ### `api.session.evictMetadata()`
</div>

\[Enterprise のお客様] \[早期アクセス] 現在のセッションのメタデータオブジェクトからすべてのキーを削除します。

<div id="apitransaction">
  ## `api.transaction`
</div>

トランザクション を変更します。

<div id="apitransactionsetmetadatakey-value">
  ### `api.transaction.setMetadata(key, value)`
</div>

指定したキーのトランザクションメタデータに値を保存または更新します。

このメソッドで変更したメタデータは、
`event.transaction.metadata` オブジェクトにリアルタイムで反映されます。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="key" type="string">
    設定するプロパティのキー。
  </ParamField>

  <ParamField body="value" type="object">
    プロパティの値。`null` を設定すると、メタデータプロパティを削除できます。
  </ParamField>
</Expandable>

<div id="apigroups">
  ## `api.groups`
</div>

ユーザーのグループへの所属に関する情報を取得します。

<div id="apigroupsgetusergroupsparams">
  ### `api.groups.getUserGroups(params)`
</div>

ユーザーが所属するグループのページネーション対応一覧を取得します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="params" type="getusergroupsparams">
    * ページネーションオプションを含むオブジェクト。
      任意。

    <Expandable title="params プロパティ">
      <ParamField body="take" type="number">
        任意。
      </ParamField>

      <ParamField body="from" type="string">
        任意。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apigroupshasgroupmembershipgroups">
  ### `api.groups.hasGroupMembership(groups)`
</div>

ユーザーが指定したグループのいずれかに所属しているかを確認し、
所属している場合は該当するグループの詳細を返します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="groups" type="array of string">
    * メンバーシップを確認するグループ識別子 (ID または名前) の配列。
  </ParamField>
</Expandable>

<div id="apiroles">
  ## `api.roles`
</div>

ユーザーロールの割り当てに関する情報を取得します。

<div id="apirolesgetusereffectiverolesparams">
  ### `api.roles.getUserEffectiveRoles(params)`
</div>

ユーザーに直接、またはグループのメンバーシップを通じて割り当てられたすべてのロールを返します。
必要に応じて組織にスコープを限定し、チェックポイントベースのページネーションを使用できます。

```js Fetch the first page of roles theme={null}
const result = await api.roles.getUserEffectiveRoles({ take: 50 });
console.log(result.roles);
```

```js Paginate through roles theme={null}
let cursor;
do {
  const result = await api.roles.getUserEffectiveRoles({ take: 100, from: cursor });
  console.log(result.roles);
  cursor = result.next;
} while (cursor);
```

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="params" type="getusereffectiverolesparams">
    * チェックポイント方式のページネーションパラメータ。
      任意。

    <Expandable title="params プロパティ">
      <ParamField body="take" type="number">
        返されるロールの最大数 (最大 100) 。
        任意。
      </ParamField>

      <ParamField body="from" type="string">
        前のレスポンスの `next` フィールドに含まれるページネーショントークン。これを使用して、結果の次のページを取得します。
        任意。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apirolesgetusereffectiverolesbyidsids">
  ### `api.roles.getUserEffectiveRolesByIds(ids)`
</div>

ユーザーに直接、またはグループのメンバーシップを通じて割り当てられたロールを返します。
必要に応じて組織をスコープに指定し、ロールIDで絞り込めます。

```js Filter roles by specific IDs theme={null}
const result = await api.roles.getUserEffectiveRolesByIds([
  'rol_1234567890',
  'rol_0987654321'
]);
console.log(result.roles);
```

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="ids" type="array of string">
    * フィルタリングするロール ID の配列 (最大 100 件) 。
  </ParamField>
</Expandable>

<div id="apirolesgetusereffectiverolesbynamesnames">
  ### `api.roles.getUserEffectiveRolesByNames(names)`
</div>

ユーザーに直接、またはグループのメンバーシップを通じて割り当てられたロールを返します。
必要に応じて組織にスコープを設定し、ロール名で絞り込むことができます。

```js Filter roles by specific names theme={null}
const result = await api.roles.getUserEffectiveRolesByNames([
  'Admin',
  'Editor'
]);
console.log(result.roles);
```

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="names" type="array of string">
    * フィルタリングするロール名の配列 (最大50件) 。
  </ParamField>
</Expandable>
