メインコンテンツへスキップ
2022 年 4 月 30 日に、Node.js v12 の長期サポート (LTS) が終了しました。これは、Node.js 開発チームがこのバージョンに対する重大なセキュリティ修正をバックポートしなくなったことを意味します。そのため、拡張機能コードがセキュリティ脆弱性にさらされる可能性があります。したがって、Auth0 は Node 12 から Node 16 への移行を進めています。

推奨事項

Node 16 への更新によって Node.js 標準ライブラリに破壊的変更が加わることはありません (影響を受けるのは Rules とカスタムデータベース Action スクリプトです。詳細は 破壊的変更 - Rules とカスタムデータベース Action スクリプトのみ を参照してください) 。ただし、セキュリティおよびコンプライアンスの観点から、Node バージョン 12 を利用しているお客様には、Active Long-Term Support (LTS) の Node バージョンを継続的に利用することを推奨します。現在も Node 8 を利用しているお客様はセキュリティコンプライアンスの要件を満たしておらず、セキュリティリスクを解消するには Node 16 へ移行する必要があります。Auth0 は Public Cloud テナント向けに 2022 年 2 月 22 日に Node 8 ランタイムを削除し、Private Cloud では 2022 年 4 月のリリースで削除しました。これらの日付以降も Node 8 が設定されたままのテナントでは、サービス中断が発生するおそれがあります。 Actions は複数の Node バージョンを同時にサポートするよう設計されており、現在は Node 12 と Node 16 の両方をサポートしています。さらに、ノーコードの Actions Integration は、業界標準の「常に最新」のバージョン管理に従って、マイナーバージョンが自動的に更新されます。基盤となるコードは常に最新の状態に保たれ、Node.js の最新バージョンに追従します。
使用中のお客様対応タスク
Actions Node 12既存のカスタム Action バージョンを新しいバージョンに更新してください。これにより Node 16 に更新されます。すべてのカスタム Action バージョンをできるだけ早く更新してください。
レガシー Node 12 (Rules/Hooks/Extensions)Actions Node 16 への移行を開始してください。できるだけ早く Actions Node 16 に移行 してください。
レガシー Node 8可能な限り直ちに Actions に移行してください。Rules と Hooks のうち、すぐに Actions に移行できないものについては、少なくともコードを Node 12 に更新し、テナント設定も Node 12 に更新する必要があります。直ちに Actions Node 16 に移行 してください。

タスク

Actions のアップグレード

Node 12 で構築された既存の Actions は Node 16 にアップグレードでき、必要に応じて後から Node 12 の以前のバージョンに戻すこともできます。Actions を Node 16 にアップグレードするには、ランタイムとして Node 16 を使用するよう設定した新しいバージョンを作成してデプロイします。

Rules と Hooks を Actions に移行する

可能な限り、Rules と Hooks は Actions に移行してください。移行可能な Rules と Hooks を確認するには、Actions の制限事項を参照してください。Rules と Hooks を Actions に移行する方法については、Actions への移行のガイドを参照してください。

Node 16 ランタイムを有効にする

Rules、Hooks、Extensions などのレガシー拡張機能を使用している場合は、テナント レベルで Node 16 ランタイムを有効にする必要があります。まず開発テナントを Node 16 ランタイムに切り替えて設定をテストし、その後で本番テナントを切り替えることを推奨します。
  1. Dashboard の Advanced Tenant Settings ページにある Extensibility パネルで、開発テナントの Node 16 を有効にします。Runtime ドロップダウンから Node 16 を選択します。
  2. Save をクリックします。
  3. 以下に記載されている項目が存在しないこと、または各項目の移行手順が完了していることを確認します。
  4. 設定をテストします。テストが完了したら、上記の手順 1 と 2 を本番テナントに対して繰り返し、本番環境で Node 16 を有効にします。

破壊的変更 - Rules とカスタムデータベース Action スクリプトのみ

Rules は JavaScript のサンドボックス内で実行されます。このサンドボックスでは、ECMAScript 6 と多数の Node.js (バージョン 16 以上) モジュールがサポートされています。Rules またはカスタムデータベース Action スクリプト内でこれらのグローバルプロパティを使用している場合は、サポート対象のサンドボックスモジュール一覧で代替手段を確認し、明示的に require してください。
  • _
  • async
  • Auth0
  • azure_storage
  • bcrypt
  • crypto
  • couchbase
  • cql
  • ip
  • jwt
  • Knex
  • mongo
  • mysql
  • mysql_pool
  • ObjectID
  • pbkdf2
  • pg
  • postgres
  • Pubnub
  • q
  • querystring
  • request
  • sqlserver
  • uuid
  • xml2js
  • xmldom
  • xpath
  • xtend