Migrer de Node.js 8 à Node.js 12
Depuis le 31 décembre 2019, Node.js v8 ne comprend plus le support à long terme (LTS), ce qui signifie que l’équipe de développement de Node.js ne rétroporte plus les correctifs de sécurité critiques vers cette version. Cela pourrait potentiellement exposer votre code d’extensibilité à des vulnérabilités de sécurité. Par conséquent, Auth0 a migré de Node 8 à Node 12.
Caractéristiques affectées
Les fonctions Auth0 suivantes utilisent Node 8 :
Règles
Hooks
Connexions à des bases de données personnalisées
Connexions sociales personnalisées
Extensions
Si vous n’utilisez aucune des fonctions d’extension mentionnées ci-dessus, vous n’êtes pas concerné par cette migration.
Tâches
Dans le cadre de l’introduction de Node 12 dans notre moteur d’exécution Webtask, nous avons effectué un certain nombre de tests pour déterminer quels modules ne sont pas compatibles entre Node 8 et 12. La plupart des clients devraient pouvoir passer à Node 12 sans problème.
Cela dit, avant d’effectuer une migration, il est fortement recommandé de tester vos :
Règles
Hooks
Connexions et scripts de base de données personnalisés
Connexions sociales personnalisées
Extensions
Auth0 vous recommande d’abord de faire passer votre locataire de développement à l’exécution de Node 12, de terminer les tests dans votre locataire de développement et de ne migrer votre locataire de production que lorsque vous ne rencontrez plus de problèmes dans le développement.
Activer l’exécution de Node 12
Il peut y avoir d’autres changements de comportement suite à cette migration; c’est pourquoi nous avons fourni un commutateur de migration qui vous permet de contrôler la migration de votre environnement vers la nouvelle exécution Webtask en utilisant Node 12.
Auth0 vous recommande d’abord de faire passer votre locataire de développement à l’exécution de Node 12, de terminer les tests dans votre locataire de développement et de ne migrer votre locataire de production que lorsque vous ne rencontrez plus de problèmes dans le développement.
Vous pouvez interroger Management API pour vos règles, hooks, scripts de base de données personnalisés et connexions personnalisées via réseaux sociaux. Il vous sera ainsi plus facile de déplacer des éléments de votre locataire de production vers le locataire de développement à des fins de test.
Lorsque vous utilisez les points de terminaison des connexions dans Management API, les scripts de base de données personnalisés peuvent être récupérés ou mis à jour à l’aide de options.customScripts
. De même, vous pouvez trouver des connexions sociales personnalisées dans options.scripts.fetchUserProfile
.
Activez Node 12 sur votre locataire de développement en utilisant le nouveau panneau Extensibilité sur la page Paramètres avancés du locataire de Dashboard. Sélectionnez Node 12 à partir du menu déroulant Exécution.
Cliquez sur Enregistrer.
Si vous utilisez les éléments énumérés ci-dessous, effectuez les étapes de migration pour chacun d’entre eux.
Testez votre configuration.
Une fois que vous êtes sûr que rien n’entraîne de bogue, utilisez les étapes 1 et 2 ci-dessus pour activer Node 12 sur votre locataire de production.
Ajouter de nouvelles URL à la liste blanche
L’extension Delegated Administration et l’extension Dashboard à authentification unique (SSO) requièrent la mise en liste d’autorisation des URL utilisées pour accéder aux extensions et aux tâches web personnalisées. Lors de la mise à niveau vers Node 12, les URL utilisées pour accéder aux extensions et aux tâches Web personnalisées seront modifiées. Il s’agit d’un changement majeur pour ces extensions.
Si vous utilisez l’une de ces extensions, vous devez autoriser les nouvelles URL en tant que Callback URL autorisées et URL de déconnexion autorisées.
La partie région de l’URL passe de 8 à 12. Si vous accédez à une extension en utilisant l’URL :
https://{yourTenant}.us8.webtask.io/dummy-extension-url
lorsque vous effectuerez une mise à jour vers Node 12, l’URL sera :
https://{yourTenant}.us12.webtask.io/dummy-extension-url
Allez à Dashboard > Applications > Applications > Paramètres, et ajoutez URL aux champs Callback URL autorisées et URL de déconnexion autorisées.
Les URL d’exécution seront également modifiées pour les tâches Web personnalisées dans votre conteneur Auth0. Vous devez mettre à jour toutes les applications externes qui appellent ces tâches Web.
Republier la règle de l’extension d’autorisation
Si vous utilisez l’Authorization Extension, elle génère une règle auth0-authorization-extension
. Republiez cette règle à partir de l’Authorization Extension pour mettre automatiquement à jour les URL.
Assurez-vous d’avoir mis à jour la dernière version de l’extension d’autorisation à partir de l’onglet Extensions installées. Si le bouton Mettre à niveau est présent, cliquez pour mettre à niveau. Si le bouton n’est pas présent, vous êtes déjà sur la dernière version de l’extension.
Ouvrez la page de configuration Authorization Extension.
Pour mettre à jour l’URL dans la règle, publiez à nouveau la règle en cliquant sur le bouton Publier la règle.
Testez pour vous assurer que tout fonctionne toujours. Si une erreur de clé API invalide apparaît après la mise à jour, cliquez sur le bouton Effectuer une rotation pour générer une nouvelle clé API.
Configurer les URL d’administration déléguée
Si vous utilisez l’Administration Extension déléguée, la matrice suivante contient les URL mises à jour que vous devez configurer après avoir migré vers Node 12. L’URL varie en fonction de votre emplacement.
Emplacement | URL de rappel autorisée pour Node 12 | URL de déconnexion autorisées pour Node 12 |
---|---|---|
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 |
For example, if you are located in the USA and you use the Delegated Administration, you should update the following fields in your application’s settings:
URL de rappel autorisées:
https://{yourTenant}.us12.webtask.io/auth0-delegated-admin/login
URL de déconnexions permises:
https://{yourTenant}.us12.webtask.io/auth0-delegated-admin
Configurer les URL du Dashboard à authentification unique
La matrice suivante contient les URL mises à jour que vous devez configurer après avoir migré vers le Node 12. L’URL varie en fonction de votre emplacement.
URL de connexion pour les administrateurs :
Emplacement | URL de rappel autorisée |
---|---|
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 |
Australie | https://{yourTenant}.au12.webtask.io/auth0-sso-dashboard/admins/login |
Japon | https://{yourTenant}.jp.webtask.run/auth0-sso-dashboard/admins/login |
URL de connexion pour les utilisateurs :
Emplacement | URL de rappel autorisée |
---|---|
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 |
Australie | https://{yourTenant}.au12.webtask.io/auth0-sso-dashboard/login |
Japon | https://{yourTenant}.jp.webtask.run/auth0-sso-dashboard/login |
Mettre à jour les extensions
La plupart des extensions utilisent le secret caché PUBLIC_WT_URL
pour l’autorisation. Ce secret dépend de la version de l’exécution et n’est pas automatiquement mis à jour.
To update it, you need to save the extension’s settings (no changes are necessary). To do so, after switching the runtime to Node 12
, you need to open the extension’s settings in the extensions dashboard (gear icon), and click Save
. After that, the extensions gallery will update the PUBLIC_WT_URL
secret based on the selected runtime.
Si vous ne mettez pas à jour le secret caché PUBLIC_WT_URL
, vous obtiendrez l’erreur suivante :

Mise à jour des modules épinglés
Si vous utilisez les modules intégrés suivants (c’est-à-dire les modules que vous n’avez pas explicitement requis), sachez que certaines versions ont été mises à jour pour fonctionner avec Node 12. Le tableau suivant résume les changements. Ces nouvelles versions devraient rester rétrocompatibles avec les versions précédentes.
Nom du module | Ancienne version | Nouvelle version |
---|---|---|
couchbase | ~2.5.1 | 2.6.10 |
bcrypt | 1.0.3 | 3.0.8 |
Si vous avez épinglé manuellement des modules, vous devrez peut-être les mettre à jour manuellement pour que votre code fonctionne avec Node 12.
Par exemple, vous devrez modifier :
var bcrypt = require(‘bcrypt@1.0.3’);
à
var bcrypt = require(‘bcrypt’);
ou, si le module doit être fixé à une version spécifique :
var bcrypt = require(‘bcrypt@3.0.8’);