Considérations générales
Migrer les règles et hooks vers les actions
Si vous utilisez une exécution d’extensibilité interrompue, nous vous recommandons de profiter de l’examen de votre implémentation des règles et des hooks pour les migrer vers des actions (la version 18 de Node). Déterminez les règles et les appels que vous pouvez migrer vers les actions en visitant Limites liées aux actions. Pour savoir comment migrer vos règles et vos appels vers des actions, veuillez consulter la page Migrer vers les actions.Intégrations Marketplace
Intégrations des connexions avec les réseaux sociaux
Utilisez la Management API pour identifier une liste complète des connexions avec les réseaux sociaux qu’un changement de version de l’environnement d’exécution de Node peut affecter. Plus particulièrement, toutes les connexions avec les réseaux sociaux potentiellement affectées, qu’elles soient explicitement créées en tant que connexion avec les réseaux sociaux personnalisée ou initialement ajoutées par la place du marché, ont une valeur d’attribut destrategy
établie à oauth1
ou à oauth2
.
Vous pouvez ensuite paginer à travers toutes les connexions personnalisées avec les réseaux sociaux existantes dans un locataire donné à l’aide du point de terminaison GET
Connections de . Par exemple, les options de requête suivantes renvoient les noms et identifiants d’un maximum de 100 connexions personnalisées avec les réseaux sociaux :
Tâches de migration
Créer de nouvelles actions personnalisées
Pour créer une nouvelle action personnalisée avec la version de Node 18 par l’Auth0 Dashboard :- Naviguez vers Auth0 Dashboard> Actions > Bibliothèque.
- Sélectionnez Créer une action > Construire à partir de zéro.
- Dans le champ Exécution*, sélectionnez Version 18 de Node (recommandé).
- Écrivez vos actions personnalisées dans la version 18 de Node, puis testez et déployez-les lorsqu’elles sont prêtes.
Mettre à niveau des actions personnalisées existantes
Vous pouvez mettre à niveau individuellement les actions personnalisées existantes construites sur la version 12 ou 16 de Node vers la version de Node, puis revenir à la version précédente en utilisant l’ancien environnement d’exécution. Mettez à jour les actions vers la version de Node en créant et en déployant une nouvelle version de l’implémentation actuelle pour utiliser la version 18 de Node comme environnement d’exécution.Choisissez la version 18 de Node pour les autres produits d’extensibilité
Le temps d’exécution utilisé pour les offres d’extensibilité restantes (autres que les actions) est défini globalement au niveau des paramètres avancés du locataire. La modification de ce paramètre affecte simultanément les fonctionnalités suivantes :- règles
- hooks
- scripts personnalisés de base de données
- scripts de connexion personnalisée avec les réseaux sociaux
- Accédez à Dashboard > > Paramètres > > Avancés.
- Faites défiler jusqu’à la section Extensibilité.
- Pour l’environnement d’exécution, sélectionnez version 18 de Node.
Changements de rupture connus
Modules npm magiques
L’environnement d’exécution d’extensibilité de la version 12 de Node prend en charge l’utilisation de modulesnpm
spécifiques sans les exiger explicitement dans le code d’extensibilité. À partir de la version 16 de l’environnement d’exécution de Node, nous avons supprimé la prise en charge de ce type d’utilisation pour les modules suivants :
- _
- async
- Auth0
- azure_storage
- bcrypt
- crypto
- couchbase
- cql
- IP
- Knex
- mongo
- mysql
- mysql_pool
- ObjectID
- pbkdf2
- pg
- postgres
- Pubnub
- q
- querystring
- sqlserver
- uuid
- xml2js
- xmldom
- xpath
- xtend
Can I Require : suppression de versions de modules
Nous avons supprimé la prise en charge des versions spécifiées des modules ci-dessous pour le runtime Node 18 dans Can I Require. Cette modification affecte le code d’extensibilité associé aux règles, aux scripts de connexion à une base de données personnalisée et aux scripts de connexion sociale personnalisée.Le script de récupération du profil utilisateur pour les connexions sociales personnalisées suivantes (Indeed, monday.com, Snapchat, et Tumblr), disponible via Marketplace, utilisait la version
0.22.0
du module axios
qui n’est pas disponible dans Node 18. Si vous utilisez l’une de ces connexions, examinez et mettez à jour leurs scripts si nécessaire via Management API.Module | Versions |
---|---|
@analytics/google-analytics | 0.4.0 |
@auth0/hapi | 13.5.1, 13.6.0 |
@auth0/rule-utilities | 0.1.0 |
@gitbeaker/node | 17.0.1 |
@incognia/api | 1.0.0 |
@octokit/rest | 15.8.2 |
@sentry/node | 5.6.2, 5.15.5, 6.2.0 |
acorn | 1.2.2 |
airbrake | 1.0.2 |
airgram | 3.1.1 |
ajv | 6.10.1 |
amazon-dax-client | 1.2.2 |
amazon-mws-node | 1.0.3 |
analytics | 0.5.1 |
analytics-node | 2.0.1, 3.5.0 |
applicationinsights | 0.15.8, 0.18.0, 1.5.0, 1.8.8 |
async | 1.0.0, 0.9.0, 2.1.2, 2.6.1 |
auth0 | 2.4.0, 2.1.0, 2.0.0, 0.8.2, 2.6.0, 2.7.0, 2.8.0, 2.9.1, 2.13.0, 2.17.0, 2.17.1, 2.19.0, 2.23.0, 2.27.0, 2.27.1, 2.30.0, 2.31.0, 2.32.0, 2.34.2, 2.35.0, 2.36.1, 2.36.2, 2.39.0, 3.0.1 |
auth0-authz-rules-api | 4.0.0 |
auth0-ext-template-renderers | 0.4.2 |
auth0-extension-express-tools | 1.0.2, 1.1.5, 1.1.6, 2.0.0 |
auth0-extension-hapi-tools | 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.2.2, 1.3.0 |
auth0-extension-tools | 1.0.0, 1.2.1, 1.3.1, 1.3.2, 1.4.0 |
auth0-magic | 3.1.0 |
auth0-oauth2-express | 0.0.1, 0.0.3, 1.1.5 |
auth0-source-control-extension-tools | 3.0.10, 3.0.9, 3.1.4, 3.4.0, 3.5.1, 4.0.3, 4.0.5, 4.0.6, 4.0.7, 4.1.1, 4.1.2, 4.1.3, 4.1.5, 4.1.7, 4.1.9 |
aws-sdk | 2.2.30, 2.1.31, 2.1.13, 2.4.13, 2.5.3, 2.197.0, 2.291.0, 2.458.0, 2.593.0 |
axios | 0.15.2, 0.18.0, 0.19.2, 0.21.1, 0.21.3, 0.22.0, 0.27.2 |
azure | 0.10.6 |
azure-storage | 0.4.4, 0.4.1, 0.9.0 |
babel | 5.4.7, 5.1.9 |
bcrypt | 4.0.0 |
bluebird | 2.9.26, 3.4.6 |
body-parser | 1.12.4 |
boom | 2.7.2 |
botbuilder | 0.9.0 |
bson | 0.3.2, 4.4.0 |
cookie-parser | 1.3.5 |
datadog-metrics | 0.8.2, 0.9.0, 0.9.2, 0.9.3 |
disposable-email-domains | 1.0.14, 1.0.15, 1.0.56 |
dockerode | 2.1.4, 2.0.3 |
dotenv | 0.4.0, 2.0.0 |
easy-pbkdf2 | 0.0.2 |
ejs | 2.3.1 |
engine.io-client | 1.5.1 |
express | 4.12.4, 4.14.0, 4.16.3 |
express-jwt | 3.1.0, 5.1.0 |
faunadb | 2.11.1, 4.1.1 |
filter-object | 2.1.0 |
firebase | 7.12.0 |
firebase-admin | 4.0.4, 5.0.0, 6.0.0, 8.0.0, 8.12.1 |
form-data | 0.2.0 |
getstream | 3.4.1 |
gitlab | 1.7.0 |
google-auth-library | 1.0.0 |
google-libphonenumber | 2.0.7, 3.2.8, 3.2.10 |
googleapis | 2.1.6, 34.0.0 |
got | 3.2.0, 9.2.1, 10.7.0, 11.3.0, 11.5.2 |
hapi | 13.5.0 |
hapi-auth-jwt2 | 7.0.1 |
hapi-swagger | 7.4.0 |
hoek | 2.14.0 |
http-proxy | 1.11.1 |
ibm_db | 2.6.4 |
ip | 0.3.2, 0.0.1 |
ipaddr.js | 1.0.1 |
joi | 6.10.1 |
jose | 3.19.0 |
jsforce | 1.6.0 |
jsonwebtoken | 5.7.0, 5.0.1, 5.0.0, 7.1.9, 8.5.0 |
jwks-rsa | 1.0.0, 1.1.1, 1.6.0 |
ldapjs | 1.0.0 |
lodash | 3.10.1, 3.9.3, 2.4.1, 4.8.2, 4.17.10, 4.17.19 |
lru-cache | 2.6.4 |
mixpanel | 0.4.0 |
mkdirp | 0.5.1 |
moment | 2.10.3, 2.11.2 |
mongodb | 2.0.48, 2.0.33, 2.0.27, 2.2.11, 3.1.4, 4.1.0, 3.6.10, 3.5.11 |
mongoose | 4.1.6 |
morgan | 1.5.3 |
mysql | 2.7.0, 2.6.2, 2.0.0-alpha8, 2.15.0 |
mysql2 | 1.5.3 |
nano | 6.2.0 |
neo4j-driver | 1.7.1 |
node-fetch | 2.6.0 |
node-jose | 0.9.2 |
node-rdkafka | 2.10.1 |
nodemailer | 2.5.0 |
nsp | 2.4.0 |
oauth | 0.9.12 |
passport-wsfed-saml2 | 2.11.4 |
pg | 4.5.7, 4.3.0, 4.1.1, 6.1.2, 7.17.1 |
postmark | 1.3.1 |
q | 1.0.1 |
qs | 3.1.0 |
ramda | 0.18.0, 0.23.0 |
range_check | 0.0.1 |
raw-body | 2.1.0 |
react | 15.3.2 |
redis | 0.12.1 |
request | 2.56.0, 2.55.0, 2.27.0, 2.67.0, 2.73.0, 2.75.0, 2.81.0, 2.83.0, 2.88.0 |
rethinkdb | 2.1.1, 2.0.0-1, 2.0.0 |
rollbar | 0.6.2, 2.12.2 |
semver | 4.3.4 |
sendgrid | 1.8.0, 3.0.7 |
sequelize | 3.1.1 |
soap | 0.23.0 |
socket.io | 1.3.5 |
socket.io-client | 1.3.5 |
splunk-bunyan-logger | 0.9.1 |
ssh2 | 0.4.13 |
stamplay | 1.0.6, 1.0.5, 1.0.3 |
stripe | 3.3.4, 4.14.0, 4.24.0, 7.1.0, 7.4.0, 8.52.0 |
sumo-logger | 1.5.5 |
superagent | 1.2.0, 3.8.3, 4.1.0 |
tedious | 6.6.2, 1.11.0, 0.1.4, 8.3.1, 9.2.1 |
tough-cookie | 1.2.0 |
twilio | 2.2.1, 3.6.0, 3.57.0 |
twit | 1.1.20 |
uuid | 2.0.3, 2.0.1, 3.1.0, 3.3.2, 7.0.3, 8.0.0 |
vso-node-api | 3.1.1 |
watson-developer-cloud | 2.0.1 |
winston | 1.0.0, 0.8.1, 3.1.0 |
xml2js | 0.4.8, 0.2.8 |
xmlbuilder | 2.6.4 |
xmldom | 0.1.19, 0.1.13 |
xpath | 0.0.5 |
xtend | 1.0.3 |
Une renégociation sécurisée est requise par défaut pour les connexions TLS
La version 18 de Node.js nécessite une renégociation sécurisée (RFC 5746) pour les connexions TLS par défaut, une conséquence de l’exigence introduite dans la dépendance OpenSSL sous-jacente. Si votre code d’extensibilité effectue des appels réseau externes, les serveurs cibles doivent prendre en charge la renégociation sécurisée, sinon, les demandes échoueront et vous recevrez une erreur similaire à :axios
, l’extrait de code suivant illustre comment activer le comportement hérité :