@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 を利用したい場合は、この方法を使用します。
- JSDoc @import
- JSDoc @param
- TypeScript import
既存の JavaScript コード構造を変更せずに IntelliSense を利用したい場合は、この方法を使用します。
例
設定
- JavaScript
- TypeScript
package.json では、Action の作成時に IntelliSense の支援を受けられるよう、開発用の依存関係を定義します。Post-Login のアクセス制御と ID トークンのカスタムクレーム
api.access.deny() を呼び出します。ロールがある場合は、ID トークンにカスタムクレームを設定します。
// インポート文は、外部の型をコード内で利用できることを宣言するものです。これにより、エディターは event オブジェクトと api オブジェクトの構造を認識できます。
- JavaScript
- TypeScript
@auth0/actions の実装コードについて詳しくは、Auth0 Actions リポジトリをご覧ください。
Actions の記述方法について詳しくは、Write Your First Action を参照してください。