> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging.auth0-mintlify.app/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.

**1. 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).

**2. 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
    })

};
```

**3. 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`

**4. 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.

**5. 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**.
