Configurer Okta Workflows pour un opérateur téléphonique externe

Cette tâche explique comment créer un flux dans Workflows Okta pour envoyer le code d'accès à usage unique (OTP) à vos utilisateurs finaux via l'opérateur téléphonique de votre choix. Le flux ressemble à ceci :

Avant de commencer

  • Consultez la documentation Téléphonie pour comprendre les exigences réglementaires, la fraude téléphonique et les considérations techniques.
  • Configurez Workflows Okta.
  • Configurez l'opérateur téléphonique de votre choix. Prenez note des informations suivantes :
    • Compte SID
    • Jeton d'authentification
    • Numéro de téléphone
    • URL du message SMS pour envoyer des requêtes POST. Par exemple, l'URL Twilio est la suivante :

      https://api.twilio.com/2010-04-01/Accounts/{yourtwilioaccountid}/Messages.json

      Dans cet exemple, {yourtwilioaccountid} est l'identifiant de votre compte Twilio.

Créer un flux

  1. Dans l'Admin Console, accédez à Workflow > Console des workflows.
  2. Dans la Workflows Console, cliquez sur Flux > Nouveau flux.

Créer la carte d'événement du point de terminaison de l'API

  1. Cliquez sur Ajouter un événement. Recherchez et sélectionnez l'application Okta pour le point de terminaison de l'API.
  2. Dans la fenêtre Paramètres du point de terminaison de l'API, définissez le Niveau de sécurité sur Sécurisé avec le jeton client.
  3. Laissez le champ Jeton client vide, puis cliquez sur Fermer.
  4. Dans la section Corps, créez les champs suivants. Cliquez sur le menu déroulant du champ pour modifier son type.
Champ Type

données

Objet

> userProfile

Objet

> > userId

Texte

> messageProfile

Objet

> > msgTemplate

Texte

> > phoneNumber

Texte

> > otp

Texte

Créer une carte de fonction Composer

  1. Cliquez sur Ajouter une fonction. Recherchez et sélectionnez la carte de fonction Composer.
  2. Dans la carte, saisissez le texte suivant : To=phoneNumber&From={yourphonenumber}&Body=msgTemplate
  3. Pour mapper les champs phoneNumber et msgTemplate, faites glisser et déposez ces champs depuis la carte d'événement Point de terminaison de l'API.
  4. Remplacez {yourphonenumber} par votre numéro de téléphone, y compris l'indicatif du pays. Il s'agit du numéro que votre opérateur téléphonique vous a affecté.

Créer une carte de fonction Construire

  1. Cliquez sur Ajouter une fonction. Recherchez et ajoutez la carte de fonction Construction d'objet.
  2. Dans la carte, ajoutez les champs de texte de saisie suivants : Accepter et Content-Type.
  3. Saisissez ces valeurs dans les champs :
    • Accepter : application/json
    • Content-Type: application/x-www-form-urlencoded

Créer une carte de fonction En cas d'erreur

  1. Cliquez sur Ajouter une fonction. Recherchez et sélectionnez la carte de fonction En cas d'erreur.
  2. Assurez-vous que la carte de fonction En cas d'erreur est en mode Essayer.

À l'intérieur de cette carte, créez les cartes suivantes.

Créer une carte Connecteur API

  1. Dans le menu + , cliquez sur l'icône de nuage. Recherchez et sélectionnez la carte Connecteur API.
  2. Sélectionnez le type Publier.
  3. Dans la carte Publier, saisissez l'URL du SMS pour votre opérateur téléphonique.
  4. Faites glisser le champ Sortie de la carte de fonction Construire vers le champ Demande > En-têtes.
  5. Faites glisser le champ Sortie de la carte de fonction Composer vers le champ Demande > Corps.
  6. Dans le champ Demande > Corps, créez le champ de texte sid.

Créer une carte de fonction Composer pour réussir

  1. À côté de la carte Publier, dans le menu +, cliquez sur l'icône de la calculatrice. Recherchez et sélectionnez la carte de fonction Composer.
  2. Dans la carte, saisissez le code suivant :

    {
     "commands":[
       {
         "type":"com.okta.telephony.action",
         "value":[
           {
             "status":"SUCCESSFUL",
             "provider":"<YOURPROVIDER>",
             "transactionId":"sid"
           }
         ]
       }
     ]
    }
  3. Remplacez <YOURPROVIDER> par le nom de votre opérateur téléphonique, par exemple Twilio.
  4. Faites glisser le champ sid depuis la carte Publier.
  5. Cliquez sur le menu déroulant du champ Sortie et renommez-le Success.
  6. Cliquez sur Afficher sorties pour la carte En cas d'erreur.
  7. Créez un champ d'objet de sortie appelé Response.
  8. Dans ce champ Réponse, faites glisser et déposez le champ Réussite depuis la carte Composer.

Ajouter des champs d'erreur

  1. Dans la carte En cas d'erreur, basculez le mode Essai vers le mode En cas d'erreur.
  2. Dans la sortie Erreur, créez les champs suivants. Cliquez sur le menu déroulant du champ pour modifier son type.
Champ Type

body

Objet

> code

Texte

> status

Texte

> message

Texte

Créer une carte de fonction Composer pour l'erreur

  1. À côté des champs de résultat Erreur, dans le menu +, cliquez sur l'icône de la calculatrice. Recherchez et sélectionnez la carte de fonction Composer.
  2. Dans la carte, saisissez le code suivant :

    {
      "error":{
        "errorSummary":"Failed to deliver SMS to phoneNumber",
        "errorCauses":[
          {
            "errorSummary":"Couldn't deliver OTP",
            "reason":"message"
          }
        ]
      }
    }
  3. Faites glisser le champ phoneNumber depuis la carte d'événement Point de terminaison de l'API.
  4. Faites glisser le champ message de la sortie Erreur.
  5. Cliquez sur le menu déroulant du champ Sortie et renommez-le Error.
  6. Faites glisser et déposez le champ Erreur sous la section Réponse de la carte En cas d'erreur.

La carte dans le mode En cas d'erreur ressemble à ceci :

La carte de fonction En cas d'erreur est maintenant terminée.

Créer une carte Retour brut

  1. Dans le flux, cliquez sur Ajouter une fonction. Recherchez et sélectionnez la carte de fonction Retour brut.
  2. Faites glisser et déposez le champ Sortie de la carte Construction vers le champ En-têtes.
  3. Faites glisser et déposez le champ Réponse de la carte En cas d'erreur vers le champ Corps.
  4. Enregistrez le flux et activez-le.

Copier les informations pour le crochet incorporé de téléphonie

  1. Accédez à la carte d'événement Point de terminaison API, puis cliquez sur l'icône </> pour ouvrir les paramètres Point de terminaison API.
  2. Dans la boîte de dialogue des paramètres, copiez les informations suivantes : Invoquer URL, Aliaset Jeton client. Vous aurez besoin de ces informations lors de la prochaine étape de la création d'un crochet incorporé de téléphonie.

Étape suivante

Se connecter à un prestataire de services téléphoniques externe