メインコンテンツへスキップ
@auth0/actions NPMパッケージは、Auth0 Actions TypeScriptの定義を助ける公式のActionライブラリーです。外部のエディターやIDEでプロジェクトのActionをコーディングしたりテストしたりするときに役立ちます。

利点

このライブラリーは以下のユースケースに役立ちます。
  • IDE / コードエディターのアシスタンス:開発者はこのライブラリーを参照することで、IDEやコードエディターで自動補完オブジェクトと関数の定義エラーチェックを使ったコーディングを行えます。
  • TypeScript Development:ActionはあくまでもNode.js CommonJSを使用してコーディングされ、動作しますが、このライブラリーを活用することで、TypeScriptを使用して外部プロジェクトでActionを開発できるようになり、Auth0テナントにCommon JSとしてビルトおよびデプロイすることが可能になります。
  • ユニットテストの改善:外部プロジェクトでのTypeScript開発が可能になることで、開発者はベストプラクティスに沿い、TypeScriptの定義に基づいてユニットテストを改善できるようになります。
  • AIでのAction生成:このライブラリーで、AIによるより正確なActionサンプルの生成に一歩近づきます。

使用方法

インストール

以下のいずれかのパッケージマネージャーを使い、パッケージを開発時依存関係としてインストールします。
パッケージは、開発ツールを補完する開発時依存関係として使用する必要があります。
  • NPM: npm install @auth0/actions --save-dev
  • Yarn: yarn add @auth0/actions --dev
  • Pnpm: pnpm add @auth0/actions --save-dev

インポート

ライブラリーには以下の構造があります。
importステートメントは、以前のライブラリー構造を考慮して、各トリガー名バージョン番号に基づく必要があります。 パターンに従う@auth0/actions/[trigger_name]/[trigger_version] @auth0/actions/post-login/v3 使用するテクノロジーに応じて、次のいずれかの方法でTypeScriptの定義をActionにインポートします。 既存のJavaScriptコードの構造を変更することなくIntelliSenseが必要な場合は、こちらを使用します。
既存のJavaScriptコードの構造を変更することなくIntelliSenseが必要な場合は、こちらを使用します。
TypeScriptを使用する際は、Auth0にデプロイする前にコードをJavaScriptにコンパイルする必要があります。Auth0 ActionsのランタイムはJavaScriptのみ実行します。デプロイする前に、TypeScriptのコンパイラー(tsc)を使って.tsファイルを.jsファイルにトランスパイルしてください。また、ダッシュボードでIntelliSenseを有効にするためにJSDocコメントを含める必要もあります。

以下のActionsの例では、JavaScriptとTypeScriptの両方を比較しやすいように横に並べています。

構成

package.jsonで、Actionを作成するときにintelliSenseを活用できるようにすべての開発時依存関係を定義します。

ログイン後のアクセスコントロールとIDトークンのカスタムクレーム

以下の例のActionは、ログイン後のフロー中に実行されます。ユーザーにロールが割り当てられているかを確認し、何もない場合はapi.access.deny()を呼び出します。ロールがある場合は、続けてIDトークンにカスタムクレームを設定します。 importステートメントは、コードで外部型が使用できることを宣言します。これにより、エディターはeventapiオブジェクトの構造を知ることができます。
@auth0/actionsについて詳しくは、https://www.npmjs.com/package/@auth0/actionsを参照してください。 Actionsの作成について詳しくは、「初めてのActionを作成する」をお読みください。