@auth0/actions NPM パッケージ は、Auth0 Actions の TypeScript 定義を利用するための公式 Actions ライブラリです。これにより、外部エディターや IDE でプロジェクトの Actions を実装してテストできます。
@auth0/actions 公開リポジトリ では、この NPM パッケージの基盤となるコードを確認できます。利点
- IDE / コードエディターの支援: このライブラリを参照すると、IDE やコードエディターで 自動補完、オブジェクトや関数の定義表示、エラーチェックが利用でき、開発時の支援が向上します。
- TypeScript 開発: Actions は引き続き Node.js CommonJS で記述・実行されますが、このライブラリを使用すると、外部プロジェクトで TypeScript を使って Actions を開発し、その後 CommonJS としてビルドして Auth0 テナントにデプロイできます。
- ユニットテストの改善: 外部プロジェクトで 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]
For example: @auth0/actions/post-login/v3
Use one of the following alternatives to import the TypeScript definitions into your Actions depending on your technology:
Use this alternative when you want IntelliSense without changing your existing JavaScript code structure:
- JSDoc @import
- JSDoc @param
- TypeScript import
Use this alternative when you want IntelliSense without changing your existing JavaScript code structure:
例
設定
- JavaScript
- TypeScript
Action の作成時に IntelliSense の補完を利用できるように、
package.json で開発時の依存関係を定義します。Post-Login のアクセス制御と IDトークン のカスタムクレーム
api.access.deny() を呼び出します。ロールが存在する場合は、IDトークン にカスタムクレームを設定します。
import 文は、コード内で外部型を利用できることを宣言するものです。これにより、エディターは event オブジェクトと api オブジェクトの構造を認識できます。
- JavaScript
- TypeScript
@auth0/actions の実装コードの詳細については、Auth0 Actions repository を参照してください。
Actions の作成方法の詳細については、Write Your First Action を参照してください。