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

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

# API オブジェクト

password-reset-post-challenge Actions トリガーの API オブジェクトには、以下が含まれます。

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

パスワードのリセットを試みるユーザーのアクセス権を変更します。

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

現在のパスワードリセット試行を拒否としてマークします。これにより、エンドユーザーは
パスワードリセットフローを完了できなくなります。このActionでリクエストされた
ユーザーに関する他の副作用は*取り消されません*。このActionの完了後、パスワードリセットフローは直ちに停止し、
以降のActionsは実行されません。

**パラメータ**

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

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

現在のユーザーのsessionの認証 stateの変更をrequestします。

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

指定した認証要素と任意の追加認証要素を使用して、多要素認証のチャレンジをリクエストします。

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

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

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

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

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

**パラメータ**

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

    <Expandable title="認証要素のプロパティ">
      <ParamField body="type" type="string">
        許可される値: `otp`, `email`, `webauthn-platform`, `webauthn-roaming`, `recovery-code`
      </ParamField>

      <ParamField body="options" type="dictionary">
        任意。
      </ParamField>
    </Expandable>
  </ParamField>

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

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

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

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

MFAチャレンジがリクエストされると、ユーザーがチャレンジを完了するまで、後続のActionsは実行されません。ユーザーは、次のいずれかの場合にチャレンジの要件を満たしたことになります。

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

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

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

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

**パラメータ**

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

このActionの完了直後に、パスワードリセットパイプラインで対象の`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="apiredirectvalidatetokenoptions">
  ### `api.redirect.validateToken(options)`
</div>

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

**パラメータ**

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

    <Expandable title="オプション プロパティ">
      <ParamField body="secret" type="string" />

      <ParamField body="tokenParameterName" type="string">
        `/continue` エンドポイントに送信された クエリ または Body パラメータの名前。
        任意です。
      </ParamField>
    </Expandable>
  </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="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="apitransaction">
  ## `api.transaction`
</div>

トランザクションを設定します。

<div id="apitransactionsetresulturlurl-options">
  ### `api.transaction.setResultUrl(url, options)`
</div>

パスワードリセット後にユーザーをリダイレクトするURLを設定します。

**パラメータ**

<Expandable title="パラメータ" defaultOpen>
  <ParamField body="url" type="string">
    ユーザーのリダイレクト先のURL。
  </ParamField>

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

    <Expandable title="options properties">
      <ParamField body="query" type="dictionary">
        URLに含めるクエリパラメータ。
        任意。
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>
