Partage via


Configurer les paramètres d’authentification

Omnicanal pour Customer Service contient une suite de capacités qui étendent la puissance de Dynamics 365 Customer Service Enterprise pour permettre aux organisations de se connecter et d’interagir instantanément avec leurs clients sur les canaux de messagerie numérique. Une licence supplémentaire est requise pour accéder à Omnichannel pour Customer Service. Pour plus d’informations, voir les pages Vue d’ensemble de la tarification de Dynamics 365 Customer Service et Plan de tarification de Dynamics 365 Customer Service.

S’applique à : Dynamics 365 Contact Center - intégré, Dynamics 365 Contact Center - autonome et Dynamics 365 Customer Service

Vous pouvez créer des paramètres d’authentification pour valider un client connecté depuis un domaine et extraire les informations selon les variables contextuelles définies. Vous pouvez différentier vos clients anonymes depuis les clients authentifiés et vous pouvez créer des règles selon les variables contextuelles.

Par exemple, vous pouvez avoir des files d’attente distinctes pour les clients anonymes et les clients authentifiés. Parce que vous avez plus d’informations concernant vos clients authentifiés, vous pouvez également les classer par priorité selon des variables spécifiques, comme la valeur du panier ou un statut privilégié.

Après avoir créé un enregistrement de paramètres d’authentification, vous devez l’ajouter à une instance de canal dans la configuration du canal d’un flux de travail pour le faire fonctionner. L’authentification est prise en charge pour ces canaux :

  • Converser
  • Apple Messages for Business

Pour indiquer si un client est authentifié, le représentant du service clientèle (représentant du service ou représentant) reçoit une notification dans la section Résumé de la conversation. Le champ Authentifié est défini sur Oui ou Non selon le statut d’authentification du client. Pour en savoir plus, consultez Résumé de la conversation.

Prérequis

Créer un enregistrement de paramètre d’authentification pour la conversation instantanée

Vous pouvez créer un enregistrement de paramètre d’authentification de conversation instantanée dans l’application d’administration.

  1. Dans le plan du site du centre d’administration Customer Service, sélectionnez Paramètres client dans Support client. La page Paramètres généraux s’affiche.

  2. Dans la section Paramètres d’authentification, sélectionnez Gérer. La page Paramètres d’authentification s’affiche.

  3. Sélectionnez Nouveaux paramètres d’authentification et, sur la page Ajouter un paramètre d’authentification, fournissez les détails suivants :

    • Nom : entrez un nom pour le paramètre d’authentification.

    • Propriétaire : Acceptez la valeur par défaut ou remplacez-la par une valeur requise.

    • Type d’authentification : Par défaut, la version OAuth 2.0 ne peut pas être modifiée.

    • URL de clé publique : spécifiez l’URL de clé publique du domaine. Cette URL est utilisée pour valider les informations qui proviennent du jeton Web JavaScript Object Notation (JSON) du domaine auquel un client est connecté.

    • Fonction JavaScript client : spécifiez la fonction de client JavaScript à utiliser pour l’authentification. Cette fonction extrait un jeton du point de terminaison du jeton.

      Configurer l’enregistrement des paramètres d’authentification de la conversation instantanée

    Pour en savoir plus sur la manière de trouver l’URL de clé publique et une fonction JavaScript client dans Configuration des portails Power Apps ou la section Configuration des portails personnalisés, plus loin dans cet article.

  4. Sélectionnez Enregistrer.

Créer un enregistrement de paramètres d’authentification pour la conversation instantanée à l’aide d’OAuth 2.0

  1. Effectuez les étapes 1 à 3 dans Créer un enregistrement de paramètre d’authentification pour la conversation instantanée et entrez les détails suivants sur la page Ajouter un paramètre d’authentification :

    • Nom : Un nom pour le paramètre d’authentification.
    • Type de canal : conversation instantanée.
    • Type d’authentification : OAuth 2.0
  2. Sélectionner Suivant la page Détails, entrez ou sélectionnez les informations suivantes :

    • Action personnalisée de jeton : référence de code personnalisé permettant de valider les jetons fournis par votre fournisseur d’identité et de renvoyer l’ID utilisateur de l’utilisateur authentifié.
    • URL du jeton : il s’agit de l’URL utilisée pour échanger votre code d’autorisation contre le jeton transmis à votre action personnalisée pour acquérir l’ID utilisateur.
    • URL de redirection : URL transmise à la demande du code d’autorisation d’origine, qui est un paramètre obligatoire dans les appels au point de terminaison d’échange de jetons.
    • ID client : ID du client transmis au point de terminaison pour l’échange de jetons.
    • Clé secrète client : clé secrète qui authentifie le client et qui est transmise au point de terminaison pour l’échange de jetons.
    • Étendue : les étendues pour lesquelles l’utilisateur est autorisé par le jeton acquis dans le flux.
  3. Enregistrez les modifications.

Ajouter l’authentification au widget de la conversation instantanée

  1. Dans le centre d’administration Customer Service, modifiez le widget de conversation instantanée dans les paramètres du flux de travail, puis accédez à l’onglet Comportements.

  2. Dans la zone Paramètres d’authentification, naviguez et sélectionnez l’enregistrement d’authentification de la conversation instantanée.

Lorsqu’un client connecté sur un portail ouvre le widget de conversation instantanée, la fonction JavaScript client transmet le jeton Web JSON du client vers le serveur. Le JWT est déchiffré et validé à l’aide de la clé publique et les informations sont ensuite transmises au représentant de la conversation instantanée dans Omnicanal pour Customer Service. En tant qu’administrateur, vous pouvez également transmettre les informations supplémentaires concernant le client connecté dans le jeton Web JSON en définissant les variables contextuelles personnalisées. Les variables contextuelles doivent être définies exactement comme elles le sont dans le flux de travail associé avec le widget de conversation instantanée. Pour en savoir plus, consultez Gérer les variables de contexte.

Configuration des portails Power Apps

Si vous ajoutez l’authentification pour un widget de conversation instantanée sur un site Web développé avec les portails Power Apps, l’URL de clé publique et la fonction JavaScript client sont disponibles immédiatement. Vous devez télécharger un certificat personnalisé pour disposer d’une URL de clé publique valide sur les portails Power Apps.

  • URL de la clé publique :<portal_base_URL>/_services/auth/publickey
  • Fonction JavaScript client :auth.getAuthenticationToken

Pour un portail Power Apps prêt à l’emploi, la fonction client JavaScript renvoie un jeton, qui par défaut a la revendication appropriée pour lier un enregistrement de contact à la conversation. Ce jeton contient la sous-revendication avec l’ID de contact de l’utilisateur connecté. Cette sous-revendication fournit un identificateur unique permettant à Omnicanal d’identifier et de lier automatiquement l’enregistrement de contact à partir de votre environnement Dataverse. Pour en savoir plus, consultez le tableau de la section qui suit.

Configuration de portails personnalisés

Si vous ajoutez une expérience de conversation avec authentification à un site Web personnalisé qui n’est pas développé avec les portails Power Apps, votre équipe de développement Web doit suivre la procédure ci-après avant que votre administrateur ne puisse configurer la conversation avec authentification :

  1. Générez une paire de clés publique/privée dans leurs serveurs d’authentification. Les clés doivent être générées à l’aide de l’algorithme RSA256.

    L’exemple de code suivant consiste à générer des paires de clé privées ou publiques.

    openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  2. Créez un point de terminaison qui renvoie vos clés publiques. Les serveurs Omnicanal utilisent les clés publiques pour valider le jeton JWT transmis dans le cadre de l’autorisation de la demande de conversation. Vous saisissez l’URL de ce point de terminaison dans l’application d’administration lors de la création d’un enregistrement de paramètre d’authentification.

    Votre point de terminaison de clé publique ressemble à cet exemple :

      -----BEGIN PUBLIC KEY----- 
      NIIBIjANBgkqhkiG9w0BAQEFABCOPQ8AMIIBCgKCAQEAn+BjbrY5yhSpLjcV3seP 
      mNvAvtQ/zLwkjCbpc8c0xVUOzEdH8tq4fPi/X5P/Uf2CJomWjdOf1wffmOZjFasx 
      ELG+poTqy5uX2dNhH6lOMUsV31QGG36skLivpLBCSK6lWlzsV6WGkb/m8r86aGzp 
      jtNhw8yvoTYB4updDrJ8pC+tx4EWK0WEmKn1GsW6TjUtxJjcTLI1puSbmcGHbkSi 
      RSbWkKPqaEVFALprw+W5ZCung5QX3KOkY/rJd+2JwULm7okyQCQaF7qwa5i9Uf65 
      7M6ZL4vsDevq7E/v3tf6qxpSSHzt4XspXVQty9QHhqDqBEY3PfI4L2JjgIGuPhfS 
      YQIDAQAB 
      -----END PUBLIC KEY-----   
    
    

Si vous devez utiliser plusieurs clés publiques, votre point de terminaison de clé publique peut renvoyer un ensemble de paires <kid, publickey>, où kid fait référence à l’ID de clé. Les paires d’ID de clé doivent être uniques. L’ID de clé doit être transmis dans le jeton JWT à l’étape 4. Si vous utilisez plusieurs clés, votre point de terminaison de clé publique doit renvoyer quelque chose de similaire à l’exemple suivant. La clé publique est codée en base64.

 [
      { 
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
          "publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      },
 {
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
          "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      } 
 ]
  1. Vous avez besoin d’un service qui génère le jeton JWT à envoyer aux serveurs Omnicanal dans le cadre du démarrage d’une conversation pour un utilisateur authentifié.

    a. Votre en-tête de JWT ressemble à l’exemple suivant.

    { 
      "alg": "RS256", 
      "typ": "JWT", 
    } 
    

    Si vous utilisez plusieurs clés publiques, vous devrez transmettre l’ID de clé (kid). Votre en-tête ressemble à l’exemple suivant :

    { 
      "alg": "RS256", 
      "typ": "JWT",
      "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4="
    } 
    

    b. La charge utile JWT doit inclure :

    • Au minimum les réclamations suivantes :

      Revendication Définition
      iss L’émetteur du jeton.
      iat La date à laquelle le jeton a été émis, au format de date numérique.
      exp La date d’expiration de ce jeton, au format de date numérique.
      sous L’objet de la revendication.
      REMARQUE : Nous vous recommandons de transmettre le GUID de l’enregistrement de contact ou de compte dans Customer Service pour l’utilisateur connecté. Ce GUID est utilisé pour identifier et lier l’enregistrement de contact à la conversation. La recherche d’enregistrements identifie les enregistrements qui ont le code de statut actif pour les contacts ou les comptes. L’identification d’enregistrement ne fonctionne pas si vous utilisez des codes d’état personnalisés.
    • lwicontexts : variables de contexte à transmettre dans le cadre de la conversation, soit à des fins d’acheminement, soit à afficher au représentant.
      En savoir plus dans
      Gérer le contexte personnalisé
      Méthode setAuthTokenProvider
      Identifier automatiquement les enregistrements à l’aide de variables de contexte

    • Toutes les autres données que vous souhaitez transmettre.

    Votre charge utile doit ressembler à l’exemple suivant :

      { 
          "sub" : "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",  
          "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\", \"portalcontactid\":\"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb\"}", 
          "iat" : 1542622071, 
          "iss" : "contosohelp.com", 
          "exp" : 1542625672, 
          "nbf" : 1542622072 
      } 
    

    c. La signature JWT doit être signée par votre clé privée.

    Note

    • Si le jeton a expiré ou n’est pas valide, le widget de conversation lance un événement d’erreur.
    • La méthode setContextProvider n’est pas prise en charge pour les conversations instantanées authentifiées. Vous devez transmettre vos lwicontexts dans le cadre de la charge utile JWT.
  2. Créez une fonction JavaScript sur votre site Web qui accepte une fonction de rappel et renvoie un JWT à la fonction de rappel. Pour éviter l’expiration du délai, la fonction JavaScript doit renvoyer un JWT dans les 10 secondes. Ce JWT doit répondre aux critères suivants :

    • Il doit contenir l’en-tête, la charge utile et la signature de l’étape 3.

    • Il doit être signé par la clé privée de la paire de clés à l’étape 1.

      Nous vous recommandons de générer votre JWT sur votre serveur Web.

      Le nom de cette méthode JavaScript est utilisé pour créer l’enregistrement des paramètres d’authentification dans l’application d’administration Customer Service.

      // This is a sample JavaScript client function  
      
      auth.getAuthenticationToken = function(callback){ 
      
        var xhttp = new XMLHttpRequest(); 
        xhttp.onreadystatechange = function() { 
            if (this.readyState == 4 && this.status == 200) { 
                callback(xhttp.responseText); 
            } 
        }; 
        xhttp.onerror = function(error) { 
            callback(null); 
        }; 
      //Replace this with a call to your token generating service 
        xhttp.open("GET", "https://contosohelp.com/token", true); 
        xhttp.send(); 
      } 
      
  3. Votre développeur doit partager les informations suivantes avec votre administrateur Omnicanal :

    a. L’URL du service de clé publique de l’étape 2.

    Exemple : https://www.contoso.com/auth/publickey

    b. Le nom de la fonction client JavaScript de l’étape 4. Le widget de conversation instantanée appelle ce nom en interne lors du démarrage d’une conversation.

    Exemple : auth.getAuthenticationToken

    Note

    Si votre expérience utilisateur expose le bouton de conversation avant que les utilisateurs ne soient authentifiés, assurez-vous de les rediriger vers votre page d’authentification si nécessaire. Vous pouvez configurer la redirection dans la méthode de l’étape 4 ou en tant qu’étape précédente de votre flux d’utilisateurs.

    L’illustration suivante montre la configuration.

    Configuration d’une conversation avec authentification.

    Ensuite, vous pouvez configurer une conversation authentifiée en procédant comme suit :

Configurer la conversation instantanée authentifiée

  1. Accédez à l’application d’administration et créez un enregistrement des paramètres d’authentification avec les informations de l’étape 5 (section précédente). Pour en savoir plus, consultez Créer un enregistrement de paramètre d’authentification pour la conversation instantanée.

  2. Associez les paramètres d’authentification au widget de conversation qui a une expérience authentifiée. Pour en savoir plus, consultez Ajouter l’authentification au widget de conversation instantanée.

    L’illustration suivante présente la séquence d’appels lorsqu’un utilisateur accède à votre conversation instantanée dans une configuration authentifiée.

    Runtime d’une conversation instantanée avec authentification.

Créer des paramètres d’authentification de la conversation instantanée pour Apple Messages for Business

Prérequis

  • Les administrateurs qui configurent les paramètres d’authentification ont besoin de plus d’autorisations de sécurité. Pour en savoir plus, consultez Configurer les autorisations de sécurité pour un champ.

  • Assurez-vous que votre organisation a une connaissance pratique du flux OpenID Connect OAuth 2.0. Étapes mises en avant dans la section suivante.

  • Confirmez que votre organisation a au moins un Message enrichi de type Authentification Apple Messages for Business. Cette configuration de message enrichi est requise pour l’installation.

Créer un enregistrement de paramètres d’authentification pour Apple Messages for Business à l’aide du flux OpenID Connect OAuth 2.0

  1. Dans le plan du site de l’application du centre d’administration Customer Service, sélectionnez Paramètres client, puis sélectionnez Gérer pour les Paramètres d’authentification. Une liste des paramètres d’authentification existante s’affiche.

  2. Sélectionnez Nouveaux paramètres d’authentification, et sur la page Ajouter des paramètres d’authentification, fournissez les informations suivantes :

    1. Sur la page Type de canal, saisissez un nom, puis sélectionnez Apple Messages for Business comme type de canal.

    2. Changez le type d’authentification flux OpenID Connect OAuth 2.0.

    3. Sur la page Ajouter un paramètre d’authentification, fournissez les informations suivantes :

      • ID client : identifiant client OAuth 2.0 émis par un serveur d’autorisation.
      • Secret client : Secret client utilisé pour authentifier les requêtes envoyées à un serveur d’autorisation.
      • Étendue : chaque champ d’application ajouté précise les éléments de données utilisateur que vous avez demandés au client. Le contenu de l’étendue doit correspondre exactement à ceux disponibles auprès de votre fournisseur de services.
      • URL du jeton d’accès : point de terminaison du fournisseur de services où un jeton d’accès peut être demandé.
      • URL de jeton déchiffrée : point de terminaison où l’API OAuth 2.0 peut récupérer les informations client demandées dans l’étendue.
      • Paramètres supplémentaires : permet aux services d’authentification d’extraire des paramètres supplémentaires de la requête.
    4. Sur la page Détails supplémentaires, vous pouvez éventuellement définir un délai d’expiration du jeton d’accès, en secondes. Le délai d’expiration par défaut est d’une heure.
      Une fois le délai spécifié écoulé, le champ Authentifié de la section Résumé du client d’une conversation précédemment authentifiée passe sur Non.

    5. Sur la page Messages enrichis, sélectionnez Ajouter, puis sélectionnez un ou plusieurs messages enrichis à associer à ce paramètre d’authentification.

    6. Consultez la page Résumé, puis sélectionnez Suivant. Le paramètre d’authentification est configuré.

    7. Sur la page Rediriger les informations, copiez l’URL. Vous ajoutez cette URL au site Web du fournisseur de services d’authentification sous les URL de rappel autorisées.

    8. Cliquez sur Terminer.

Ajouter l’authentification à un canal Apple Messages for Business

  1. Ouvrez le flux de travail qui contient l’instance de canal à laquelle vous souhaitez ajouter l’authentification.

  2. Sur la page Comportements des paramètres du canal, accédez à Paramètres d’authentification, activez la fonctionnalité, puis sélectionnez le paramètre approprié dans le menu déroulant. Pour en savoir plus, consultez Configurer un canal Apple Messages for Business.

  3. Pour vérifier ou mettre à jour les paramètres d’authentification pour chaque instance de canal, sélectionnez Modifier.

Ajouter un widget de conversation
Configurer une enquête avant une conversation
Créer des réponses rapides
Créer et gérer les heures de travail
Intégrer le widget de conversation instantanée dans les portails Power Apps
Identifier automatiquement les clients