Passer le jeton d’authentification au bot lors de l’authentification unique dans le chat en direct

Important

Les capacités et les fonctionnalités de Power Virtual Agents font maintenant partie de Microsoft Copilot Studio, suite à des investissements significatifs dans l’IA générative et des intégrations améliorées dans Microsoft Copilot.

Certains articles et captures d’écran peuvent faire référence à Power Virtual Agents pendant que nous mettons à jour la documentation et le contenu de la formation.

Avec l’authentification unique (SSO) dans Omnicanal pour Customer Service, vos bots peuvent effectuer des actions sécurisées pour le compte du client lors d’une conversation avec un client en cours.​ Cela offre une expérience transparente, personnalisée et sécurisée pour le client, améliorant ainsi sa satisfaction.

Dans le canal de chat en direct, vous pouvez configurer l’authentification dans Azure ou bots Copilot Studio. Vous pouvez demander l’authentification lors d’une conversation avec un client avant de rechercher ou de traiter des informations confidentielles telles que le paiement de factures, les retours de commandes et toute autre donnée sensible. En tant qu’auteur ou développeur de bot, vous pouvez choisir d’afficher la carte OAuth si le client ne s’est pas connecté ou si la connexion du client n’a pas pu être validée. Vous pouvez choisir de masquer la carte si le client s’est déjà connecté.

Voici son fonctionnement :

  • Pendant le chat en direct, votre bot demande au client de s’authentifier avant de traiter toute information sensible ou confidentielle.

  • Vous interceptez la carte OAuth et appelez votre fonction pour envoyer le jeton d’authentification directement au bot.

  • Votre fonction transmettra ensuite un jeton d’authentification (s’il est trouvé) et indiquera à Omnicanal pour Customer Service si l’OAuth ou la carte de connexion doit être affichée ou non, en fonction du statut de connexion du client.

Conditions préalables

Si vous utilisez des bots Azure, assurez-vous d’avoir installé les dernières versions des deux packages de bibliothèque suivants :

  • Microsoft.Bot.Builder.Dialogs Cette bibliothèque met en œuvre les classes .NET Simple Dialog.
  • Microsoft.Bot.Builder.Integration.AspNet.Core Cette bibliothèque intègre le kit de développement logiciel Bot Builder avec ASP.NET Core.

Si vous utilisez un bot Copilot Studio, veillez à configurer manuellement l’authentification de l’utilisateur final pour Copilot Studio. Pour plus d’informations : Configurer l’authentification utilisateur manuelle

Exemple de code

Voici un exemple de code qui illustre comment vous pouvez transmettre un jeton d’authentification à un bot Azure ou Copilot Studio lors de l’authentification unique (SSO).

const signInIds = [];
window.Microsoft.Omnichannel.LiveChatWidget.SDK.setBotAuthTokenProvider(async (botTokenUrl, callback) => {
  const urlSearchParams = new URLSearchParams(botTokenUrl);
  const signInId = urlSearchParams.get("state");

  if (signInIds.includes(signInId)) { // Ignore authenticated sign-in cards
    callback({show: false});  // Hide card
    return;
  }

  signInIds.push(signInId);

  const authUrl = ""; // Customer's Authentication API
  const authResponse = await fetch(authUrl, method: "POST"});
  const {token} = authResponse;  // Customer's Auth Token

  const data = {
    token: "token"
  };

  const payload = {
    method: "POST",
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify(data)
  };

  try {
    const botAuthResponse = await fetch(botTokenUrl, payload); // Posts Auth Token to Bot directly
    
    // Sign in through Bot is successful
    if (botAuthResponse.status === 200) {
      signInIds.push(signInId); // Track authenticated sign-in card
      callback({show: false}); // Hide card
    }

    if (botAuthResponse.status === 404 || botAuthResponse.status == 202) {
      callback({show: false}); // Hide card
      return;
    } else {
      // Other condition handling    
    }

    return;
  } catch (error) {
  
  }

  callback({show: true});  // Show sign-in card by default
});

Voir aussi

Intégrer un bot Azure
Intégrer le bot Copilot Studio
méthode setBotAuthTokenProvider