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

# Auth0 Actionsの仕組みを理解する

> Auth0 Actionsがどのように機能し、それを使用して何を達成できるかについて説明します。

アクションは安全でテナント固有のバージョン管理された関数で、Node.js[で記述され](/docs/ja-JP/ja-jp/customize/actions/manage-versions)、Auth0プラットフォームにある特定の拠点で実行されます。アクションは、カスタムロジックでAuth0の機能をカスタマイズおよび拡張するために使用されます。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Auth0 Actionsは、アクションでの非同期関数の基盤として、モダンJavaScriptの[Promiseベースのプログラミングモデル](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Promises)を使用しています。
</Callout>

このように拡張できるプロセスをトリガーと呼びます。トリガーグループは、Auth0プロセスの単一ポイント中に情報が移動する論理パイプラインを表します。1つのトリガーに複数のアクションを追加でき、各アクションは配置された順序で実行されます。以下の表に示すように、一部のトリガーは同時に実行され、関連するフローをブロックするものもありますが、同時には実行されないものもあります。

アクションは、Auth0における拡張性製品全体の基礎となります。アクションを使用すると、ニーズに合わせて重要なカスタムロジックをログインやIDフローに追加できます。アクションを使用すると、全体的な拡張性エクスペリエンスを強化する外部統合に接続することもできます。たとえば、ログイントリガーにアクションを追加することで、身分証明を専門とするマーケットプレイスパートナーを使用して免許証やパスポートなどの資格情報を検証できます。

<div id="what-can-you-do-with-actions">
  ## アクションを使ってできること
</div>

アクションを使ってできることは、それがAuth0ランタイム環境内のどこで実行されるかによって決まります。

<Accordion title="サインアップとログイン ユーザーをデータベース接続やパスワードレス接続に追加するときです。">
  <table class="table">
    <thead>
      <tr>
        <th>トリガー</th>
        <th>説明</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td>`pre-user-registration`</td>
        <td>ユーザーが作成される前にトリガーします。ソーシャル接続には実行されません。</td>
      </tr>

      <tr>
        <td>`post-user-registration`</td>
        <td>ユーザーが作成された後に非同期的にトリガーします。ソーシャル接続には実行されません。</td>
      </tr>

      <tr>
        <td>`post-login`</td>
        <td>ユーザーが認証された後、トークンが発行される前にトリガーします。</td>
      </tr>
    </tbody>
  </table>
</Accordion>

<Accordion title="MFA通知 SMSを多要素認証（MFA）の1要素として使用するか、カスタムプロバイダーを構成するときです。">
  <table class="table">
    <thead>
      <tr>
        <th>トリガー</th>
        <th>説明</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td>`send-phone-message`</td>
        <td>登録やチャレンジのプロセスでメッセージ送信にカスタムプロバイダーを使用している場合のトリガーです。</td>
      </tr>
    </tbody>
  </table>
</Accordion>

<Accordion title="パスワードのリセット パスワードのリセット要求が開始されるときです。">
  <table class="table">
    <thead>
      <tr>
        <th>トリガー</th>
        <th>説明</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td>`post-change-password`</td>
        <td>パスワードが変更された後のトリガーです。  ソーシャル接続には実行されません。</td>
      </tr>

      <tr>
        <td>`password-reset-post-challenge`</td>
        <td>最初のチャレンジが完了した後、パスワードがリセットされる前のトリガーです。</td>
      </tr>
    </tbody>
  </table>
</Accordion>

<Accordion title="Machine to Machine（マシン間） ユーザーの代わりに、アプリケーションが認証され、APIの使用が認可されたときに発生します。">
  <table class="table">
    <thead>
      <tr>
        <th>トリガー</th>
        <th>説明</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td>`credentials-exchange`</td>
        <td>アクセストークンが返される前にトリガーします。</td>
      </tr>
    </tbody>
  </table>
</Accordion>

<div id="key-benefits-of-actions">
  ## アクションの主な利点
</div>

<div id="improved-developer-experience">
  ### 開発者のエクスペリエンス向上
</div>

* <Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-JP/ja-jp/glossary?term=auth0-dashboard" tip="Auth0 Dashboard: サービスを構成するためのAuth0の主製品。" cta="用語集の表示">Auth0 Dashboard</Tooltip>内でアクションを編集する場合は、豊富な情報や、各トリガー内で何ができるかについてもインラインドキュメントにアクセスできるため、各トリガーによってサポートされている機能を簡単に見つけることができます。
* アクションは、現在運用トラフィックを提供しているバージョンに影響を与えることなく、編集およびテストできます。
* アクション内で問題が見つかった場合は、以前のバージョンにロールバックできます。

<div id="access-to-npm-packages">
  ### npmパッケージへのアクセス
</div>

ほぼすべての[公開`npm`パッケージ](https://www.npmjs.com/)はアクション内で使用できます。

<div id="observability">
  ### 可観測性
</div>

アクションが実行されると、Auth0はそれらのアクションに関する主要なメトリクスをキャプチャし、[Auth0ログ](/docs/ja-JP/ja-jp/deploy-monitor/logs)にリンクすることができます。

<div id="multiple-actions-on-every-trigger">
  ### すべてのトリガーでの複数のアクション
</div>

すべてのアクショントリガーは、複数の独立したアクションをサポートします。

<div id="get-started">
  ## はじめに
</div>

* [初めてアクションを作成する](/docs/ja-JP/ja-jp/customize/actions/write-your-first-action)！
* 現行の[アクションの制限](/docs/ja-JP/ja-jp/customize/actions/limitations)を見る

<div id="learn-more">
  ## もっと詳しく
</div>

* [初めてのActionを作成する](/docs/ja-JP/ja-jp/customize/actions/write-your-first-action)
* [トリガーを検討する](/docs/ja-JP/ja-jp/customize/actions/explore-triggers)
* [アクションの制限事項](/docs/ja-JP/ja-jp/customize/actions/limitations)
* [バージョンを管理する](/docs/ja-JP/ja-jp/customize/actions/manage-versions)
