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

# Migrer des versions 12 et 16 de Node vers Node 18

> Décrit les éléments Auth0 Actions affectées par la  v12+6 de migration de Node.js vers la v18 de Node.js.

La prise en charge à long terme (LTS) pour les versions 12 et 16 de node.js a pris fin en 2023, ce qui signifie que l’équipe de développement de Node.js ne porte plus les correctifs de sécurité critiques sur ces versions de manière rétroactive. Toute exécution effectuée avec la version de Node 12 ou 16 comme environnement d’exécution pourrait exposer votre code d’extensibilité à des vulnérabilités de sécurité.

L’environnement d’exécution de l’extensibilité de la version 18 de Node est généralement disponible sur l’ensemble de notre suite d’offres d’extensibilité. Cela inclut les actions, les règles, les hooks, les scripts de base de données et les connexions personnalisées avec les réseaux sociaux. Nous encourageons vivement tout le monde à mettre à jour vers la version de Node 18 dès que possible pour adhérer aux meilleures pratiques de sécurité du code.

## 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](/docs/fr-ca/customize/actions/limitations). Pour savoir comment migrer vos règles et vos appels vers des actions, veuillez consulter la page [Migrer vers les actions](/docs/fr-ca/customize/actions/migrate).

### Intégrations Marketplace

#### Intégrations des connexions avec les réseaux sociaux

Utilisez la [Management API](/docs/fr-ca/api/management/v2) 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 de `strategy` é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 <Tooltip href="/docs/fr-ca/glossary?term=management-api" tip="Management API
Un produit permettant aux clients d’effectuer des tâches administratives." cta="Voir le glossaire">Management API</Tooltip>. 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 :

```http wrap lines theme={null}
/api/v2/connections?strategy=oauth1&strategy=oauth2&include_totals=true&fields=name&per_page=100
```

L’<Tooltip href="/docs/fr-ca/glossary?term=auth0-dashboard" tip="Auth0 Dashboard
Principal produit d’Auth0 pour configurer vos services." cta="Voir le glossaire">Auth0 Dashboard</Tooltip> ne permet pas de mettre à jour les scripts pour les connexions personnalisées avec les réseaux sociaux ajoutées par Marketplace Si une modification de script est nécessaire pour être compatible avec la version 18 de Node, vous devez utiliser Management API.

## 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 :

1. Naviguez vers [Auth0 Dashboard> Actions > Bibliothèque](https://manage.auth0.com/#/dashboard/actions/library).
2. Sélectionnez **Créer une action > Construire à partir de zéro**.
3. Dans le champ **Exécution\***, sélectionnez **Version 18 de Node (recommandé)**.
4. É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](/docs/fr-ca/customize/actions/manage-versions#revert-actions) 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

Pour modifier le paramètre d’exécution de l’extensibilité du locataire dans l’Auth0 Dashboard :

1. Accédez à **Dashboard > > Paramètres > > Avancés**.
2. Faites défiler jusqu’à la section **Extensibilité**.
3. Pour l’**environnement d’exécution**, sélectionnez **version 18 de Node**.

Étant donné qu’il s’agit d’un paramètre global qui a un impact simultané sur plusieurs fonctionnalités d’extensibilité, nous vous recommandons d’effectuer d’abord cette étape dans votre locataire de développement, de tester toutes les fonctionnalités d’extensibilité applicables et de ne passer à votre locataire de production que lorsque vous ne voyez aucun problème en cours de développement.

En particulier avec les scripts de bases de données personnalisés, vous pouvez [suivre les étapes expliquées sur cette page](/docs/fr-ca/authenticate/database-connections/custom-db/custom-database-connections-scripts/environment) pour vérifier individuellement un script par rapport à une version d’exécution spécifique avant de procéder à la modification de la version d’exécution globale.

## 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 modules `npm` 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
* <Tooltip href="/docs/fr-ca/glossary?term=json-web-token" tip="Jeton Web JSON (JWT) Format standard de jeton d’ID (et souvent de jeton d’accès) utilisé pour représenter en toute sécurité des demandes entre deux parties." cta="Voir le glossaire">jwt</Tooltip>
* Knex
* mongo
* mysql
* mysql\_pool
* ObjectID
* pbkdf2
* pg
* postgres
* Pubnub
* q
* querystring
* sqlserver
* uuid
* xml2js
* xmldom
* xpath
* xtend

Si l’extensibilité est toujours en cours d’exécution sur la version 12 de Node, tenez compte de ce qui précède lors de la mise à jour du code directement vers la version 18 de Node. Avant d’utiliser un module, vous devez vous assurer qu’il est explicitement requis.

Dans le contexte des règles, des connexions de base de données personnalisées et des connexions personnalisées avec les réseaux sociaux, vous devez explicitement exiger une version du module qui est [répertoriée comme disponible pour la version 18 de Node](https://auth0-extensions.github.io/canirequire/).

Dans les hooks et les actions, vous devez ajouter la version cible prévue en tant que dépendance explicite avant d’exiger le module.

### 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](https://auth0-extensions.github.io/canirequire/). 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.

<Warning>
  Le script de récupération du profil utilisateur pour les connexions sociales personnalisées suivantes ([Indeed](https://marketplace.auth0.com/integrations/indeed-social-connection), [monday.com](https://marketplace.auth0.com/integrations/monday-com-monday-com-social-connection), [Snapchat](https://marketplace.auth0.com/integrations/snapchat-social-connection), et [Tumblr](https://marketplace.auth0.com/integrations/tumblr-social-connection)), 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](/docs/fr-ca/api/management/v2).
</Warning>

| 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 à :

```text wrap lines theme={null}
Error: write EPROTO C0BAF076:error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:../deps/openssl/openssl/ssl/statem/extensions.c:922:
```

Compte tenu de ce changement lié à la sécurité, nous vous recommandons de vous assurer que tous les serveurs cibles sont mis à jour pour prendre en charge la renégociation sécurisée. Si les serveurs en question sont des serveurs tiers qui ne sont pas sous votre contrôle, vous pouvez évaluer la possibilité d’opter pour le comportement précédent.

Par exemple, pour la bibliothèque `axios`, l’extrait de code suivant illustre comment activer le comportement hérité :

```javascript lines theme={null}
const axios = require('axios');
const https = require('https');
const crypto = require('crypto');

axios.get(
  'https://[LEGACY_SERVER]', 
  {
    httpsAgent: new https.Agent(
      {
        secureOptions: crypto.constants.SSL_OP_LEGACY_SERVER_CONNECT
      }
    )
  })
```
