> ## 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 オブジェクトについて説明します。

# Actions Triggers: password-reset-post-challenge - API オブジェクト

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

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

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

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

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

<ResponseField name="reason" type="string">
  パスワードリセットを拒否する理由を、人が読める形で説明したものです。これは
  エンドユーザー向けインターフェースに直接表示される場合があります。
</ResponseField>

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

現在のユーザーのセッションの認証状態の変更をリクエストします。

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

指定した認証要素と、必要に応じて追加の認証要素を使用して、多要素認証のチャレンジを要求します。

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

1. 既定の認証要素に対するチャレンジを正常に完了した場合。
2. `additionalFactors` に指定された任意の認証要素に対するチャレンジを正常に完了した場合。

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

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

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

<ResponseField name="factor" type="factorselector">
  初回のチャレンジに使用する認証要素の種類と、その options を示すオブジェクトです。

  <Expandable title="認証要素 のプロパティ" defaultOpen>
    <ResponseField name="type" type="string">
      使用できる値: `otp`, `email`, `webauthn-platform`, `webauthn-roaming`, `recovery-code`
    </ResponseField>

    <ResponseField name="options" type="dictionary" post={["optional"]} />
  </Expandable>
</ResponseField>

<ResponseField name="options" type="challengewithoptions" post={["optional"]}>
  `additionalFactors` をプロパティとして指定することもできる追加オプションです。

  <Expandable title="options のプロパティ" defaultOpen>
    <ResponseField name="additionalFactors" type="array of objects" post={["optional"]} />
  </Expandable>
</ResponseField>

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

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

多要素チャレンジが要求されると、そのチャレンジが
ユーザーによって完了されるまで、以降の Actions は実行されません。ユーザーは、次のいずれかの状況でチャレンジを満たしたことになります。

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

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

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

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

<ResponseField name="factors" type="array of objects">
  認証要素の配列。
</ResponseField>

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

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

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

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

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

<ResponseField name="options" type="tokencreationoptions">
  生成される URL のクエリパラメーターに機密データをどのようにエンコードするかを
  設定します。

  <Expandable title="options のプロパティ" defaultOpen>
    <ResponseField name="expiresInSeconds" type="number" post={["optional"]}>
      このトークンの有効期限が切れるまでの秒数
    </ResponseField>

    <ResponseField name="payload" type="dictionary">
      リダイレクト先に渡すことを目的とし、その真正性と
      完全性を検証できる必要があるデータです。
    </ResponseField>

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

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

この action が完了した直後に、パスワードリセットのパイプラインでブラウザーが対象の `url` にリダイレクトされるようにします。`createUrl` ヘルパーメソッドは、データの真正性と完全性を対象エンドポイントで検証できるよう、そのデータを対象の `url` のクエリパラメーターとしてエンコードする処理を簡略化するために用意されています。

<ResponseField name="url" type="string" />

<ResponseField name="options" type="sendusertooptions" post={["optional"]}>
  <Expandable title="options プロパティ" defaultOpen>
    <ResponseField name="query" type="dictionary" post={["optional"]}>
      リダイレクト URL に追加するクエリ文字列パラメーターを表すオブジェクトです。
    </ResponseField>
  </Expandable>
</ResponseField>

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

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

<ResponseField name="options" type="validatesessiontokenoptions">
  リダイレクト後に `/continue` エンドポイントに渡された JWT トークンに
  エンコードされたデータを取得するためのオプション。

  <Expandable title="optionsプロパティ" defaultOpen>
    <ResponseField name="secret" type="string" />

    <ResponseField name="tokenParameterName" type="string" post={["optional"]}>
      /continue エンドポイントに送信されたクエリパラメーターまたはボディパラメーターの名前。
    </ResponseField>
  </Expandable>
</ResponseField>

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

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

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

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

<ResponseField name="key" type="string">
  削除するキャッシュレコードのキー。
</ResponseField>

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

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

<ResponseField name="key" type="string">
  キャッシュに保存されているレコードのキー。
</ResponseField>

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

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

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

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

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

<ResponseField name="key" type="string">
  保存するレコードのキーです。
</ResponseField>

<ResponseField name="value" type="string">
  保存するレコードの値です。
</ResponseField>

<ResponseField name="options" type="cachesetoptions" post={["optional"]}>
  キャッシュの動作を調整するためのオプションです。

  <Expandable title="options のプロパティ" defaultOpen>
    <ResponseField name="expires_at" type="number" post={["optional"]}>
      Unix エポックからの経過時間をミリ秒で表した絶対有効期限です。
      キャッシュされたレコードはそれより前に削除される場合がありますが、
      指定された `expires_at` を超えて保持されることはありません。

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

    <ResponseField name="ttl" type="number" post={["optional"]}>
      このキャッシュエントリの存続時間をミリ秒で表した値です。
      キャッシュされた値はそれより前に削除される場合がありますが、
      指定された `ttl` を超えて保持されることはありません。

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

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

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

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

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

<ResponseField name="promptId" type="string">
  プロンプトの ID。
</ResponseField>

<ResponseField name="promptOptions" type="promptoptions" post={["optional"]}>
  レンダリング オプション。

  <Expandable title="promptOptions のプロパティ" defaultOpen>
    <ResponseField name="fields" type="dictionary" post={["optional"]}>
      フィールド値を設定するためのキーと値のペア (クライアント側) 。
    </ResponseField>

    <ResponseField name="vars" type="dictionary" post={["optional"]}>
      変数を挿入するためのキーと値のペア (サーバー側) 。
    </ResponseField>
  </Expandable>
</ResponseField>

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

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

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

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

<ResponseField name="url" type="string">
  ユーザーのリダイレクト先の URL。
</ResponseField>

<ResponseField name="options" type="resulturloptions" post={["optional"]}>
  <Expandable title="options のプロパティ" defaultOpen>
    <ResponseField name="query" type="dictionary" post={["optional"]}>
      URL に含めるクエリパラメーター。
    </ResponseField>
  </Expandable>
</ResponseField>
