> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Node.js v8 から Node.js v12 への移行の影響を受ける Auth0 の機能について説明し、移行に関する推奨事項を示します。

# Node.js 8 から Node.js 12 への移行

2019 年 12 月 31 日をもって、[Node.js v8 の長期サポート (LTS) が終了しました](https://github.com/nodejs/Release#release-schedule)。これは、Node.js 開発チームがこのバージョンに対する重要なセキュリティ修正をバックポートしなくなったことを意味します。その結果、拡張機能のコードがセキュリティ脆弱性にさらされる可能性があります。そのため、Auth0 は Node 8 から Node 12 へ移行しました。

<div id="features-affected">
  ## 影響を受ける機能
</div>

以下の Auth0 の機能は Node 8 を使用しています：

* Rules
* Hooks
* カスタムデータベース接続
* カスタムソーシャル接続
* 拡張機能

上記の拡張機能をいずれも使用していない場合、この移行の影響はありません。

<div id="tasks">
  ## タスク
</div>

Webtask ランタイムに Node 12 を導入するプロセスの一環として、Node 8 から 12 への移行で互換性のないモジュールを特定するために、複数のテストを実施しました。ほとんどのお客様は、問題なく Node 12 にアップグレードできます。

ただし、移行前に、以下のすべてをテストすることを強くお勧めします。

* Rules
* Hooks
* カスタムデータベース接続とスクリプト
* カスタムソーシャル接続
* 拡張機能

Auth0 では、まず開発テナントを Node 12 ランタイムに切り替え、開発テナントでテストを完了したうえで、開発環境で問題がないことを確認してから本番テナントを移行することを推奨しています。

<div id="enable-node-12-runtime">
  ### Node 12 ランタイムを有効にする
</div>

この移行に伴って追加の動作変更が発生する可能性があるため、Node 12 を使用する新しい Webtask ランタイムへの環境の移行を制御できる移行スイッチを用意しています。

Auth0 では、まず開発テナントを Node 12 ランタイムに切り替え、開発テナントでテストを完了して、開発環境で問題がないことを確認してから本番テナントを移行することを推奨しています。

[Management API](/ja/docs/api) を使用して、Rules、Hooks、カスタムデータベーススクリプト、カスタムソーシャル接続を確認できます。これにより、テスト目的で本番テナントから開発テナントへ項目を移しやすくなります。

<Tooltip tip="Management API: お客様が管理タスクを実行できるようにする製品です。" cta="用語集を表示" href="/ja/docs/glossary?term=Management+API">Management API</Tooltip> の Connections エンドポイントを使用すると、カスタムデータベーススクリプトは `options.customScripts` を使用して取得または更新できます。同様に、カスタムソーシャル接続は `options.scripts.fetchUserProfile` で確認できます。

1. Dashboard の [高度なテナント設定](https://manage.auth0.com/#/tenant/advanced) ページにある新しい **拡張機能** パネルを使用して、開発テナントで Node 12 を有効にします。**Runtime** ドロップダウンから **Node 12** を選択します。
2. **Save** をクリックします。
3. 以下に示す項目を使用している場合は、それぞれの移行手順を完了します。
4. 設定をテストします。
5. 問題が発生していないことを確認したら、上記の手順 1 と 2 を使用して本番テナントで Node 12 を有効にします。

<div id="allowlist-new-urls">
  ### 新しい URL を許可リストに追加する
</div>

Delegated Administration Extension と <Tooltip tip="シングルサインオン (SSO): ユーザーが1つのアプリケーションにログインすると、そのユーザーは他のアプリケーションにも自動的にログインされるサービスです。" cta="用語集を表示" href="/ja/docs/glossary?term=Single+Sign-on">シングルサインオン</Tooltip> (SSO) Dashboard Extension では、拡張機能やカスタム webtask へのアクセスに使用する URL を許可リストに登録する必要があります。Node 12 にアップグレードすると、拡張機能やカスタム webtask へのアクセスに使用する URL が変更されます。これは、これらの拡張機能にとって互換性のない変更です。

これらの拡張機能のいずれかを使用している場合は、新しい URL を **Allowed Callback URLs** と **Allowed Logout URLs** の両方に許可リスト登録する必要があります。

URL のリージョン部分は 8 から 12 に変わります。たとえば、次の URL で拡張機能にアクセスしている場合:

`https://{yourTenant}.us8.webtask.io/dummy-extension-url`

Node 12 にアップグレードすると、URL は次のようになります。

`https://{yourTenant}.us12.webtask.io/dummy-extension-url`

1. [Dashboard > Applications > Applications > Settings](https://manage.auth0.com/#/applications/\{yourClientId}/settings) に移動し、**Allowed Callback URLs** フィールドと **Allowed Logout URLs** フィールドに URL を追加します。
2. Auth0 コンテナ内のカスタム webtask の実行 URL も変更されます。これらの webtask を呼び出す外部アプリケーションも更新する必要があります。

<div id="republish-authorization-extension-rule">
  ### Authorization Extension の Rule を再公開する
</div>

Authorization Extension を使用している場合は、`auth0-authorization-extension` Rule が生成されます。URL を自動的に更新するには、Authorization Extension 内からこの Rule を再公開してください。

1. **Installed Extensions** タブで、Authorization Extension が最新バージョンにアップグレードされていることを確認します。**Upgrade** ボタンが表示されている場合は、それをクリックしてアップグレードします。ボタンが表示されていない場合は、すでに拡張機能の最新バージョンを使用しています。
2. **Authorization Extension** の設定ページを開きます。
3. Rule 内の URL を更新するには、**Publish Rule** ボタンをクリックして Rule を再公開します。
4. 更新後も引き続き正常に動作することを確認します。更新後に Invalid API Key エラーが表示された場合は、**Rotate** ボタンをクリックして新しいAPIキーを生成します。

<div id="configure-delegated-administration-urls">
  ### Delegated Administration の URL を設定する
</div>

Delegated Administration Extension を使用している場合は、Node 12 への移行後に設定する必要がある更新済み URL を以下の表で確認できます。URL は利用リージョンによって異なります。

| 地域   | Node 12 用の Allowed Callback URL                                    | Node 12 用の Allowed Logout URL                                |
| ---- | ------------------------------------------------------------------ | ------------------------------------------------------------ |
| US-1 | `https://{yourTenant}.us12.webtask.io/auth0-delegated-admin/login` | `https://{yourTenant}.us12.webtask.io/auth0-delegated-admin` |
| US-3 | `https://{yourTenant}.us.webtask.run/auth0-delegated-admin/login`  | `https://{yourTenant}.us.webtask.run/auth0-delegated-admin`  |
| EU   | `https://{yourTenant}.eu12.webtask.io/auth0-delegated-admin/login` | `https://{yourTenant}.eu12.webtask.io/auth0-delegated-admin` |
| AU   | `https://{yourTenant}.au12.webtask.io/auth0-delegated-admin/login` | `https://{yourTenant}.au12.webtask.io/auth0-delegated-admin` |
| JP-1 | `https://{yourTenant}.jp.webtask.run/auth0-delegated-admin/login`  | `https://{yourTenant}.jp.webtask.run/auth0-delegated-admin`  |

たとえば、米国リージョンで Delegated Administration を使用している場合は、アプリケーション設定で次のフィールドを更新する必要があります。

* **Allowed Callback URLs**: `https://{yourTenant}.us12.webtask.io/auth0-delegated-admin/login`
* **Allowed Logout URLs**: `https://{yourTenant}.us12.webtask.io/auth0-delegated-admin`

<div id="configure-sso-dashboard-urls">
  ### SSO Dashboard の URL を設定する
</div>

以下の表には、Node 12 への移行後に設定が必要な更新済み URL を示します。URL は使用する地域によって異なります。

Admin 向けのログイン URL:

| 地域        | Allowed Callback URL                                                    |
| --------- | ----------------------------------------------------------------------- |
| US-1      | `https://{yourTenant}.us12.webtask.io/auth0-sso-dashboard/admins/login` |
| US-3      | `https://{yourTenant}.us.webtask.run/auth0-sso-dashboard/admins/login`  |
| Europe    | `https://{yourTenant}.eu12.webtask.io/auth0-sso-dashboard/admins/login` |
| Australia | `https://{yourTenant}.au12.webtask.io/auth0-sso-dashboard/admins/login` |
| Japan     | `https://{yourTenant}.jp.webtask.run/auth0-sso-dashboard/admins/login`  |

ユーザー向けのログイン URL:

| 地域        | Allowed Callback URL                                             |
| --------- | ---------------------------------------------------------------- |
| US-1      | `https://{yourTenant}.us12.webtask.io/auth0-sso-dashboard/login` |
| US-3      | `https://{yourTenant}.us.webtask.run/auth0-sso-dashboard/login`  |
| Europe    | `https://{yourTenant}.eu12.webtask.io/auth0-sso-dashboard/login` |
| Australia | `https://{yourTenant}.au12.webtask.io/auth0-sso-dashboard/login` |
| Japan     | `https://{yourTenant}.jp.webtask.run/auth0-sso-dashboard/login`  |

<div id="update-extensions">
  ### 拡張機能を更新する
</div>

ほとんどの拡張機能では、認可に `PUBLIC_WT_URL` の非表示のシークレットを使用します。このシークレットはランタイムのバージョンに依存しており、自動的には更新されません。

これを更新するには、拡張機能の設定を保存する必要があります (変更は不要です) 。そのためには、ランタイムを `Node 12` に切り替えた後、Extensions の Dashboard で拡張機能の設定 (歯車アイコン) を開き、`Save` をクリックします。その後、extensions gallery により、選択したランタイムに基づいて `PUBLIC_WT_URL` シークレットが更新されます。

`PUBLIC_WT_URL` の非表示のシークレットを更新しない場合は、次のエラーが表示されます。

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4mq5ebCa83XNLlbn28pp9s/beb869df9a11d188f30332030655ac9d/node-hidden-secret-error.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=e08236377c71df799eb94a413cf6ded2" alt="設定ミスまたはサービス停止エラー" width="1431" height="1055" data-path="docs/images/cdy7uua7fh8z/4mq5ebCa83XNLlbn28pp9s/beb869df9a11d188f30332030655ac9d/node-hidden-secret-error.png" />
</Frame>

<div id="update-pinned-modules">
  ### 固定したモジュールを更新する
</div>

次の組み込みモジュール (つまり、明示的に `require` していないモジュール) を使用している場合は、一部のバージョンが Node 12 で動作するよう更新されています。変更点の概要を次の表に示します。これらの新しいバージョンは、以前のバージョンとの下位互換性を維持しているはずです。

| モジュール名    | 旧バージョン  | 新バージョン |
| --------- | ------- | ------ |
| couchbase | \~2.5.1 | 2.6.10 |
| bcrypt    | 1.0.3   | 3.0.8  |

モジュールのバージョンを手動で固定している場合は、コードが Node 12 で実行されるよう、手動で更新が必要になることがあります。

たとえば、次のように変更する必要があります。

`var bcrypt = require(‘bcrypt@1.0.3’);`

を

`var bcrypt = require(‘bcrypt’);`

に変更します。

または、モジュールを特定のバージョンに固定する必要がある場合は、次のようにします。

`var bcrypt = require(‘bcrypt@3.0.8’);`
