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.

Note

Les informations sur la disponibilité des fonctionnalités sont les suivantes.

Centre de contact Dynamics 365 – embedded Centre de contact Dynamics 365 – autonome Dynamics 365 Customer Service
Oui Oui Oui

Vous pouvez créer des paramètres d’authentification pour valider un client connecté à partir d’un domaine et extraire des informations en fonction des variables de contexte 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é, l’agent reçoit une notification dans la section Résumé de la conversation . Le champ Authentifié est défini sur Oui ou Non en fonction du statut d’authentification du client. Pour en savoir plus, consultez le résumé de la conversation. ...

Conditions préalables

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électionner Nouveaux paramètres d’authentification, puis fournissez les informations suivantes sur la page Ajouter un paramètre d’authentification  :

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

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

    • Type d’authentification : Par défaut, le flux implicite OAuth 2.0 ne peut pas être modifié.

    • URL de clé publique : spécifiez l’URL de clé publique du domaine. Cette URL est utilisée pour valider les informations provenant du jeton Web JavaScript Object Notation (JSON) (JWT) du domaine auquel un client s’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

    Découvrez-en plus sur la façon de trouver l’URL de la clé publique et la fonction client JavaScript dans les sections Configuration pour Power Apps les portails ou Configuration pour les portails personnalisés plus loin dans cet article.

  4. Sélectionnez Enregistrer.

Créer un enregistrement de paramètres d’authentification de conversation instantanée avec Oauth 2.0

  1. Effectuez les étapes 1 à 3 de la section Créer un enregistrement de paramètre d’authentification pour le chat, puis saisissez 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 : flux implicite 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 : 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 : l’URL transmise à la demande de code d’autorisation d’origine, qui est un paramètre obligatoire dans les appels à l’échange de jetons point de terminaison.
    • ID client : L’ID du client transmis à l’échange de jetons point de terminaison.
    • Secret client : Le secret qui authentifie le client transmis à l’échange de jetons point de terminaison.
    • É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 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, puis les informations sont transmises à l’agent de chat 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 de contexte doivent être définies exactement comme elles le sont dans le flux de travail associé à widget de conversation instantanée. En savoir plus sur Gérer les variables de contexte

Configuration des portails Power Apps

Si vous ajoutez une authentification pour un widget de conversation instantanée sur un site Web développé à l’aide de portails, l’URL de la clé publique et la fonction client JavaScript sont alors disponibles prêtes à l’emploi. Power Apps Vous devez télécharger un certificat personnalisé pour avoir une URL de clé publique valide sur Power Apps les portails.

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

Le portail tente de lier automatiquement un enregistrement de contact à la conversation via le contexte transmis dans sa fonction client JavaScript. Power Apps

Configuration de portails personnalisés

Si vous ajoutez une expérience de chat authentifié à un site Web personnalisé qui n’est pas développé à l’aide de portails, votre équipe de développement Web doit effectuer les étapes suivantes avant que votre Administrateur puisse configurer le chat authentifié : Power Apps

  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 permet de générer des paires de clés 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 chat. Vous entrez 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 clé publique point de terminaison 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’enfant doit être transmis dans le jeton JWT dans étape 4. Si vous utilisez plusieurs clés, votre clé publique point de terminaison devrait renvoyer quelque chose qui ressemble à 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 JWT à envoyer aux serveurs de Omnicanal dans le cadre du démarrage d’une discussion pour un utilisateur authentifié.

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

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

    Si vous utilisez plusieurs clés publiques, vous devez transmettre l’ID de clé (enfant). 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 affirmations 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 du contact ou de l’enregistrement de compte dans service clientèle pour l’utilisateur connecté. Ce GUID est utilisé pour identifier et lier l’enregistrement de contact à la conversation. La recherche d’enregistrement identifie les enregistrements qui ont le code d’état actif pour les contacts ou les comptes. L’identification des enregistrements ne fonctionne pas si vous utilisez des codes d’état personnalisés.
    • lwicontexts Les variables de contexte à transmettre dans le cadre de la conversation, soit à des fins d’acheminement, soit à afficher à l’agent.
      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 devrait ressembler à l’exemple suivant :

      { 
          "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",  
          "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\", \"portalcontactid\":\"87b4d06c-abc2-e811-a9b0-000d3a10e09e\"}", 
          "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, widget de conversation instantanée génère un événement d’erreur.
    • La méthode setContextProvider n’est pas prise en charge pour le chat authentifié. 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 étape 3.

    • Il doit être signé par la clé privée de la paire de clés dans é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 service clientèle.

      // 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 Omnicanal Administrateur :

    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 live widget de conversation instantanée appelle ce nom en interne au début d’une discussion.

    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 dans étape 4, ou en tant que étape antérieur dans votre flux utilisateur.

    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 de paramètres d’authentification avec les informations de étape 5 de la section précédente. Pour en savoir plus, consultez Créer un enregistrement de paramètres d’authentification pour le chat

  2. Associez les paramètres d’authentification au widget de conversation instantanée qui a une expérience authentifiée. Pour en savoir plus, consultez Ajouter l’authentification à 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

Conditions préalables

  • Les administrateurs qui configurent les paramètres d’authentification ont besoin de davantage d’autorisations de sécurité. En savoir plus sur Configurer les autorisations de sécurité pour un champ

  • Assurez-vous que votre organisation possède une connaissance pratique du flux OAuth 2.0 OpenID Connecter. Les étapes sont décrites 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 riche est requise pour l’installation.

Créer un enregistrement de paramètre 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 existants 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électionner Apple Messages for Business comme type de canal.

    2. Modifiez 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.
      • Portée : chaque portée ajoutée spécifie 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 du jeton déchiffré : le point de terminaison où l’API OAuth 2.0 peut récupérer les informations client demandées dans la portée.
      • 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é dans la section Résumé client d’une conversation précédemment authentifiée passe à Non.

    5. Sur la page Messages enrichis , Sélectionner Ajoutez, puis Sélectionner 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 pour laquelle vous souhaitez ajouter une authentification.

  2. Sur la page Comportements des paramètres du canal, accédez à Paramètres d’authentification, activez la fonctionnalité, puis Sélectionner le paramètre correct dans le menu déroulant. En savoir plus sur Configurer un Apple Messages for Business canal

  3. Pour consulter ou mettre à jour les paramètres d’authentification pour chaque instance de canal, Sélectionner 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