Compartir a través de


Pasar el token de autenticación al bot durante el inicio de sesión único en el chat en directo

Importante

Las capacidades y características de Power Virtual Agents son ahora parte de Microsoft Copilot Studio tras importantes inversiones en IA generativa e integraciones mejoradas en Microsoft Copilot.

Algunos artículos y capturas de pantalla podrían hacer referencia a Power Virtual Agents, ya que estamos actualizando la documentación y el contenido de la formación.

Con el inicio de sesión único (SSO), tus agentes pueden realizar acciones seguras en nombre del cliente durante una conversación continua con el cliente. Esto proporciona una experiencia fluida, personalizada y segura para el cliente, mejorando así la satisfacción del cliente.

En el canal de chat en directo, puedes configurar la autenticación en agentes de Azure o Copilot Studio. Puede solicitar autenticación durante una conversación con el cliente antes de buscar o procesar cualquier información confidencial, como el pago de facturas, devoluciones de pedidos y cualquier otro dato confidencial. Como autor o desarrollador de bots, puede optar por mostrar la tarjeta de OAuth si el cliente no ha iniciado sesión o si no se pudo validar el inicio de sesión del cliente. Puede optar por ocultar la tarjeta si el cliente ya ha iniciado sesión.

Así es como funciona:

  • Durante el chat en vivo, tu agente solicita al cliente la autenticación antes de procesar cualquier información sensible o confidencial.

  • Intercepta la tarjeta OAuth y llama a la función para enviar el token de autenticación directamente al bot.

  • Tu función pasará entonces un token de autenticación (si se encuentra) y dirá al widget de chat si la OAuth o la tarjeta de inicio de sesión debe mostrarse o no, según el estado de inicio de sesión del cliente.

Prerrequisitos

Si usas agentes de Azure, asegúrate de haber instalado las últimas versiones de los siguientes dos paquetes de bibliotecas:

  • Microsoft.Agents.Core.Models Esta biblioteca proporciona modelos de actividad y conexión centrales para el Agent SDK.
  • Microsoft.Agents.Authentication Esta biblioteca proporciona interfaces de autenticación y gestión de tokens para el Agent SDK.

Si usas un agente de Copilot Studio, asegúrate de configurar manualmente la autenticación de usuario final para Copilot Studio. Más información: Configurar la autenticación manual de usuarios

Código de ejemplo

Este es un ejemplo de código que ilustra cómo puede pasar un token de autenticación a un bot de Azure o Copilot Studio durante el inicio de sesión único.

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
});

Integrar un bot de Azure
Integrar un bot de Copilot Studio
setBotAuthTokenProvider (método)