依存関係を管理する
Actionsではnpm
レジストリからのパッケージを使用することができます。Auth0 DashboardのアクションコードエディターまたはAuth0 Management APIを使用して、アクションに依存関係をインストールし、管理することができます。
アクションコードエディターで依存関係を追加する
公開のnpm
レジストリからパッケージに対する依存関係を追加するには、以下を行います。
[Auth0 Dashboard]>[Actions (アクション)]>[Library(ライブラリー)]に移動して、アクションを選択します。
アクションコードエディターのサイドバーにある[Modules(モジュール)](立方体)アイコンを選択します。
[Add Module(モジュールの追加)]モジュールの名前を入力します。使用可能な最新バージョンのパッケージを使用するには、バージョンのフィールドを空のままにします。
Actionsコードでモジュールを必須にします。たとえば、Axiosパッケージを追加した場合には、アクションコードエディターでコードの始めに以下の行を追加します。
const axios = require('axios');
Was this helpful?
/
Auth0 Management APIで依存関係を追加する
Auth0 Management APIのアクション作成エンドポイントを使用して、依存関係を追加することもできます。エンドポイントを呼び出す際には、ペイロード内で依存関係を指定します。
curl -H "Authorization: Bearer {managementApiToken}" \
-X POST -H "Content-Type: application/json" \
-d '{ \
"name":"my-action", \
"supported_triggers":[{"id":"post-login","version":"v2"}], \
"code":"module.exports = () => {}",\
"dependencies": [{\
"name":"lodash",\
"version":"4.17.21"\
}],\
"runtime":"node14"\
}' \
https://{yourTenant}.com/api/v2/actions/actions
Was this helpful?
セキュリティに関する考慮事項
サードパーティーのパッケージには脆弱性や悪意のあるコードが含まれている可能性があるため、アクションで使用する前に、パッケージを検査することをお勧めします。また、ソフトウェア構成分析ツールを使用して、パッケージにある脆弱性の監視を続けることをお勧めします。
アクションでの依存関係に関する制限事項
ネイティブモジュールの非対応
アクションではネイティブモジュールは使用できません。ネイティブモジュールに依存するアクションを実行すると、エラーが発生し、Compilation failed:Cannot find module
(コンパイルの失敗:モジュールが見つかりません)というメッセージが表示されます。
npm
パッケージがネイティブかを確認するには、npm
パッケージの公開GitHubリポジトリに移動して、コードが使用している言語をサイドバーで確認します。言語にC/C++が含まれている場合には、パッケージはおそらくネイティブです。よく利用されるものには、たとえば、bcrypt
やsqlite3
などがあります。
非公開モジュールや非公開レジストリの非対応
アクションでは非公開のnpm
モジュールや非公開のnpm
レジストリは使用できません。アクションは公開のnpm
レジストリを使用します。