メインコンテンツへスキップ
RulesとHooksのサポート終了(EOL)日は2026年11月18日 であり、2023年10月16 日の時点で作成された新しいテナントは使用できなくなります。Hooksが有効な既存のテナントは、サポート終了までHooksを利用できます。今後はActionsに移行して、Auth0の機能を拡張することを強くお勧めします。Actionsを使用すると、豊富な情報やインラインドキュメント、パブリックnpmパッケージにアクセスして、外部統合を使って全体的な拡張エクスペリエンスを強化することができます。Actionsの詳細については、「Auth0 Actionsの仕組みを理解する」をお読みください。当社では、移行の参考資料として、RulesからActionsへの移行HooksからActionsへの移行に関するガイドを提供しています。また、専用の「Actionsへの移行」ページでは、機能の比較やActionsのデモ、その他のリソースを掲載して、円滑な移行をサポートしています。RulesとHooksの廃止の詳細については、当社のブログ記事「RulesとHooksの提供終了について」をお読みください。
作成したAuth0 Rule内から、auth0オブジェクトを使用してユーザーのapp_metadataまたはuser_metadataを更新できます。これはManagementClientnode-auth0 Node.jsクライアントライブラリで定義)の特別に制限されたインスタンスであり、Auth0 Management APIへの制限付きアクセスを提供します。詳細については、Rules Execution Best Practice(ルール実行のベストプラクティス)をお読みください。 ルール内から追加のエンドポイントにアクセスするには、別のバージョンのライブラリを使用する必要があります。
auth0.accessTokenを通じて使用されるManagement APIのアクセストークンは、スコープがread:usersupdate:usersに限られます。広範囲のスコープが必要な場合は、クライアントの資格情報フローを使ってトークンを要求します。詳細については、「運用環境のManagement APIのアクセストークンを取得する」を参照してください。

新しいバージョンのライブラリにアクセスする

特定のバージョンのライブラリを要求することで、Auth0 Node.jsクライアントライブラリの新しいバージョンを読み込むことができます。最新のバージョン情報については、GithubのAuth0 Nodeリポジトリを確認してください。 この例では、ライブラリのバージョン2.9.1を読み込み、ユーザーのリストを照会し、ユーザーをコンソールに記録します([Real-time Webtask Logs Extension(リアルタイムWebtaskログ拡張機能)]を使用して確認)。
ユーザーの検索をルール内で行うとログインのパフォーマンスに影響するので、行わないようにしてください。
function (user, context, callback) {
  var ManagementClient = require('auth0@2.9.1').ManagementClient;
  var management = new ManagementClient({
    token: auth0.accessToken,
    domain: auth0.domain
  });

  management.getUsers(function (err, users) {
    console.log(users);
    callback(null, user, context);
  });
}
必要に応じて設定できる使用可能なライブラリーのリストについては、「使用可能なライブラリーのバージョン」を確認してください。
I