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.

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

L’agent recevra une notification dans la section Résumé de la conversation, que le client soit authentifié ou non. Le champ Authentifié est défini sur Oui ou Non selon l’authentification du client. Plus d’informations : 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. Accédez à l’une des applications d’administration et procédez comme suit.

    1. Dans le plan du site, 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.

  2. Sélectionnez Nouveaux paramètres d’authentification, et fournissez les informations suivantes sur la page Ajouter des paramètres 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 requise.

    • Type d’identification : par défaut, c’est le flux implicite OAuth 2.0 qui 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 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, voir la section Configuration des portails Power Apps ou la section Configuration des portails personnalisés plus loin dans cet article.

  3. 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 dans Créer un enregistrement de paramètre d’authentification pour le chat et saisissez les détails suivants dans Ajouter un paramètre d’authentification page :

    • 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 : URL qui sera 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 de code d’autorisation d’origine, qui est un paramètre obligatoire dans les appels à l’échange de jetons point de terminaison.
    • ID client : ID du client transmis à l’échange de jetons point de terminaison.
    • clé secrète client : secret indiquant que 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 le centre d’administration service clientèle, modifiez le widget de discussion dans les paramètres du flux de travail et 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 jeton Web JSON est déchiffré et validé à l’aide de la clé publique et les informations sont ensuite transmises à l’agent de conversation instantanée dans Omnichannel for 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 sont définies dans le flux de travail associé avec le widget de conversation instantanée. Pour plus d’informations : 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 prêts à l’emploi. Vous aurez besoin de charger un certificat personnalisé pour avoir 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

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

Configuration de portails personnalisés

Si vous ajoutez une expérience de conversation instantanée authentifiée à un site Web personnalisé, qui n’est pas développé à l’aide de portails Power Apps, voici quelques étapes que votre équipe de développement Web doit effectuer avant que vos administrateurs puissent configurer la conversation instantanée authentifiée :

  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.

    Voici un exemple de code pour générer des paires de clé privées/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 renverra vos clés publiques. Les clés publiques seront utilisées par les serveurs Omnicanal pour valider le jeton JWT transmis dans le cadre de l’autorisation de la demande de conversation. L’URL de ce point de terminaison sera saisie 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 ressemblera à 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. La clé doit être transmise dans le jeton JWT à l’étape 4. Si vous utilisez plusieurs clés, votre point de terminaison de clé publique doit renvoyer quelque chose qui ressemble à ce qui suit. 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 instantanée 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 devrez transmettre l’ID de clé (kid). L’en-tête JWT ressemblera à cet exemple : .

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

    b. La charge utile JWT doit inclure :

    • Au minimum les revendications 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 sera utilisé pour identifier et lier l’enregistrement de contact à la conversation.
    • lwicontexts Les variables de contexte à transmettre dans le cadre de la conversation, soit à des fins d’acheminement, soit à afficher à l’agent.
      Pour plus d’informations, voir
      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 ressemblera à cet exemple : .

      { 
          "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, le widget de conversation lancera 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 :

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

    • Ê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 sert à créer l’enregistrement des paramètres d’authentification dans l’application d’administration d’Omnicanal.

      // 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 devra 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. Ce widget de conversation 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. Cela peut être fait 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). Plus d’informations : Créer un enregistrement des paramètres d’authentification pour la conversation instantanée

  2. Associez les paramètres d’authentification au widget de conversation qui aura une expérience authentifiée. Plus d’informations : 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

Conditions préalables

  • Les administrateurs qui configurent les paramètres d’authentification auront besoin d’autorisations de sécurité supplémentaires. Pour plus d’informations : Configurer les autorisations de sécurité pour un champ

  • Assurez-vous que votre organisation a une connaissance pratique du flux de code OAuth 2.0 ou du flux de connexion OpenID OAuth 2.0. Les étapes pour les deux types sont décrites dans les sections suivantes.

  • Confirmez que votre organisation a au moins un Message enrichi de type Authentification Apple Messages for Business. Ce message enrichi est requis pour la configuration.

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

  1. Dans le plan du site du Centre d’administration de Customer Service ou de l’application Centre d’administration Omnicanal, sélectionnez Paramètres client, puis sélectionnez Gérer les paramètrs d’authentification. Une liste des paramètres d’authentification existante est affichée.

  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, entrez un nom et sélectionnez Apple Messages for Business comme type de canal.
      Par défaut, le type d’authentification est le flux de code OAuth 2.0.

    2. 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 étendue ajoutée spécifiera 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.
    3. 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.
      Après la durée spécifiée, le champ Authentifié de la section Conversation active d’une conversation précédemment authentifiée passera à Non.

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

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

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 du Centre d’administration Customer Service ou de l’application du centre d’administration Omnicanal, sélectionnez Paramètres client, puis sélectionnez Gérer pour les Paramètres d’authentification. Une liste des paramètres d’authentification existante est affichée.

  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, entrez un nom et sélectionnez 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.
      • Étendue : Chaque étendue ajoutée spécifiera 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.
      Après la durée spécifiée, le champ Authentifié de la section Récapitulatif client d’une conversation précédemment authentifiée passera à 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 contenant 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é et sélectionnez le paramètre approprié dans le menu déroulant. Pour plus d’informations : Configurer un canal Apple Messages for Business

  3. Vérifiez ou mettez à jour les paramètres d’authentification pour chaque instance de canal en sélectionnant Modifier.

Voir aussi

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