依存関係を管理する

Actionsではnpmレジストリからのパッケージを使用することができます。Auth0 DashboardのアクションコードエディターまたはAuth0 Management APIを使用して、アクションに依存関係をインストールし、管理することができます。

アクションコードエディターで依存関係を追加する

公開のnpmレジストリからパッケージに対する依存関係を追加するには、以下を行います。

  1. [Auth0 Dashboard]>[Actions (アクション)]>[Library(ライブラリー)]に移動して、アクションを選択します。

  2. アクションコードエディターのサイドバーにある[Modules(モジュール)](立方体)アイコンを選択します。

  3. [Add Module(モジュールの追加)]モジュールの名前を入力します。使用可能な最新バージョンのパッケージを使用するには、バージョンのフィールドを空のままにします。

  4. 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++が含まれている場合には、パッケージはおそらくネイティブです。よく利用されるものには、たとえば、bcryptsqlite3などがあります。

非公開モジュールや非公開レジストリの非対応

アクションでは非公開のnpmモジュールや非公開のnpmレジストリは使用できません。アクションは公開のnpmレジストリを使用します。