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

# Configurer un fournisseur téléphonique personnalisé avec Twilio Verify

> Utilisez une Action de fournisseur téléphonique personnalisé pour intégrer Twilio Verify à Auth0 et acheminer les codes MFA et SMS sans mot de passe par l’API Twilio Verify.

<Steps>
  <Step title="Prérequis">
    * Vous devez disposer d’un compte [Twilio](https://twilio.com/) offrant une option valide d’envoi par SMS ou téléphone.

    * Vous devez créer un service [Twilio Verify](https://www.twilio.com/docs/verify) au moyen de la [Twilio Console](https://www.twilio.com/console/verify/services) ou de l’[API REST Verify](https://www.twilio.com/docs/verify/api/service#create-a-verification-service).
  </Step>

  <Step title="Configurer un fournisseur de messages téléphoniques personnalisé">
    Dans [Dashboard > Branding > Phone Provider](https://manage.auth0.com/dashboard/#/phone/templates/phone/provider), sous **Phone Provider**, choisissez **Custom**.

    Sous **Configuration du fournisseur**, ajoutez l’exemple de code suivant pour permettre à l’API Twilio d’envoyer des messages au numéro de téléphone d’un utilisateur :

    ```javascript lines expandable theme={null}
    /**
    * Handler à exécuter lors de l'envoi d'une notification téléphonique
    * @param {Event} event - Détails sur l'utilisateur et le contexte dans lequel il se connecte.
    * @param {CustomPhoneProviderAPI} api - Méthodes et utilitaires pour modifier le comportement de l'envoi d'une notification téléphonique.
    */
    exports.onExecuteCustomPhoneProvider = async (event, api) => {
     const { TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_VERIFY_SID } = event.secrets;

      const client = require('twilio')(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN);

      // mapper la valeur voice d'auth0 à call
      const messageType = event.notification.delivery_method === 'voice' ? 'call' : 'sms';

      const { recipient, code } = event.notification;

      // ajouter ceci pour appliquer le correctif à « 1333444999  »
      // « 333 444 5555 »
      const sanitizedNumber = recipient.replace(/\s/g, '').trim();

      await client.verify.v2.services(TWILIO_VERIFY_SID)
        .verifications.create({
          to: sanitizedNumber,
          channel: messageType,
          customCode: code
        })

    };
    ```
  </Step>

  <Step title="Ajouter des secrets">
    Sélectionnez l’icône **Clé** pour ouvrir le menu **Secrets**. Ajoutez les valeurs suivantes à partir de la configuration de votre service Twilio Verify :

    * `TWILIO_ACCOUNT_SID`
    * `TWILIO_AUTH_TOKEN`
    * `TWILIO_VERIFY_SID`
  </Step>

  <Step title="Charger la bibliothèque d’assistance Twilio">
    Sélectionnez l’icône **Dépendance**, puis choisissez **Ajouter une dépendance**. Dans la fenêtre **Ajouter une dépendance** qui s’ouvre, saisissez les valeurs suivantes :

    * **Nom** : `twilio`
    * **Version** : `latest`

    Sélectionnez **Créer** et Auth0 recherche la bibliothèque d’assistance Twilio et charge la version la plus récente.
  </Step>

  <Step title="Déployer et tester">
    Sélectionnez **Enregistrer** pour enregistrer et déployer l’Action.

    Pour tester la configuration du fournisseur téléphonique personnalisé avant de l’utiliser dans un environnement de production, sélectionnez **Envoyer un message de test**.
  </Step>
</Steps>
