Skip to main content
@auth0/actions NPM パッケージは、Auth0 Actions の TypeScript 型定義を提供する公式の Actions ライブラリです。これにより、外部エディターや IDE でプロジェクトの Actions をコーディングし、テストできます。
@auth0/actions の公開リポジトリでは、この NPM パッケージの元になっているコードを参照できます。

利点

このライブラリは、次のユースケースで役立ちます。
  • IDE / コードエディター支援: このライブラリを参照することで、IDE やコードエディターは、自動補完オブジェクトや関数の定義エラーチェックなどを通じて、開発者のコーディングを支援できます。
  • TypeScript 開発: Actions は引き続き Node.js CommonJS を使って記述・実行されますが、このライブラリを使うことで、外部プロジェクトで TypeScript による Actions 開発が可能になり、その後 Auth0テナント向けの CommonJS としてビルドおよびデプロイできます。
  • 単体テストの改善: 外部プロジェクトでの TypeScript 開発を可能にすることで、このライブラリは、開発者がベストプラクティスに従い、TypeScript 型定義に基づいて単体テストを改善できるようにします。
  • AI による Actions 生成: このライブラリにより、AI がより正確な Action の例を生成できるようになるまで、あと一歩のところまで近づきます。

動作の仕組み

インストール

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

インポート

このライブラリは次の構成になっています:
インポート文は、以前のライブラリ構造を踏まえ、各トリガー名バージョン番号に基づいて指定する必要があります。 次のパターンに従ってください: @auth0/actions/[trigger_name]/[trigger_version] : @auth0/actions/post-login/v3 利用している技術に応じて、次のいずれかの方法で TypeScript の型定義を Actions にインポートしてください。 既存の JavaScript コード構造を変更せずに IntelliSense を利用したい場合は、この方法を使用します。
既存の JavaScript コード構造を変更せずに IntelliSense を利用したい場合は、この方法を使用します。
TypeScript を使用する場合は、Auth0 にデプロイする前にコードを JavaScript にコンパイルする必要があります。Auth0 Actions ランタイムが実行できるのは JavaScript のみです。デプロイ前に、TypeScript コンパイラ (tsc) を使用して .ts ファイルを .js ファイルにトランスパイルしてください。また、Dashboard で IntelliSense を有効にするには、JSDoc コメントも含める必要があります。

以下のActionsの例は、JavaScriptとTypeScriptを並べて直接比較できるよう、あえて両方で示しています。

設定

package.json では、Action の作成時に IntelliSense の支援を受けられるよう、開発用の依存関係を定義します。

Post-Login のアクセス制御と ID トークンのカスタムクレーム

次の Action の例は、Post-Login フロー中に実行されます。ユーザーにロールが割り当てられているかどうかを確認し、ロールが見つからない場合は api.access.deny() を呼び出します。ロールがある場合は、ID トークンにカスタムクレームを設定します。 // インポート文は、外部の型をコード内で利用できることを宣言するものです。これにより、エディターは event オブジェクトと api オブジェクトの構造を認識できます。
@auth0/actions について詳しくは、https://www.npmjs.com/package/@auth0/actions をご覧ください。 @auth0/actions の実装コードについて詳しくは、Auth0 Actions リポジトリをご覧ください。 Actions の記述方法について詳しくは、Write Your First Action を参照してください。