Configurar los ajustes de autenticación

Omnichannel para el servicio al cliente ofrece un conjunto de funcionalidades que amplían la eficacia de Dynamics 365 Customer Service Enterprise para permitir que las organizaciones se conecten e interactúen al instante con sus clientes a través de canales de mensajería digital. Se necesita una licencia adicional para acceder a Omnichannel for Customer Service. Para obtener más información, consulte las páginas precios de Dynamics 365 Customer Service y plan de precios de Dynamics 365 Customer Service.

Se aplica a: Dynamics 365 Contact Center - integrado, Dynamics 365 Contact Center - independiente y Dynamics 365 Customer Service

Puede crear ajustes de autenticación para validar a un cliente registrado en un dominio y extraer información basadas en las variables de contexto que se definen. Puede distinguir a los clientes anónimos de clientes autenticados, y puede crear reglas en función de las variables de contexto.

Por ejemplo, se pueden separar colas independientes para los clientes anónimos y clientes autenticados. Puesto que tiene más información sobre los clientes autenticados, también puede concederles prioridad en función de variables específicas, como valor de carro de la compra o un estado de privilegio.

Después de crear un registro de configuración de autenticación, debe agregarlo a una instancia de canal en una secuencia de trabajo para que funcione. La autenticación es compatible con estos canales:

  • Chat
  • Mensajes de Apple para empresas

Para indicar si un cliente está autenticado, el representante del servicio al cliente (representante de servicio o representante) recibe una notificación en la sección Resumen de la conversación. El campo Autenticado se establece en Sí o No en función del estado de autenticación del cliente. Más información en resumen de la conversación.

Autenticación frente a la identificación del cliente

La autenticación y la identificación del cliente son capacidades diferentes:

  • La autenticación verifica quién es el cliente. El cliente inicia sesión en tu web o portal, y tu sitio pasa un token web JSON (JWT) firmado al widget de chat. El sistema valida el token con la clave pública que especifiques en el registro de configuración de autenticación.
  • La identificación del cliente utiliza la información que introduce el cliente, como un nombre, dirección de correo electrónico o número de teléfono en una encuesta previa a la conversación, para encontrar y vincular un contacto o registro de cuenta que coincida. La identificación no autentica al cliente. Obtenga más información en Identificar clientes automáticamente.

Requisitos previos

Crear un registro de la configuración de autenticación de chat

Puede crear un registro de configuración de autenticación de chat en el Centro de administración del servicio Copilot.

  1. En el mapa del sitio del centro de administración de Copilot Service, ve a Atención al cliente>Configuración del cliente. Aparece la página Configuración de cliente.

  2. En la sección Configuración de autenticación, sleccione Administrar. Aparece la página Configuración de autenticación.

  3. Seleccione Nueva configuración de autenticación y, en la página Agregar configuración de autenticación, facilite los siguientes detalles:

    • Nombre: escriba un nombre para la configuración de la autenticación.

    • Dueño: Acepte el valor predeterminado o cámbielo a un valor requerido.

    • Tipo de autenticación: De forma predeterminada, OAuth 2.0 no se puede editar.

    • Dirección URL de clave pública: especifique la dirección URL de clave pública del dominio. Esta URL se utiliza para validar la información que proviene del JWT del dominio en el que el cliente inició sesión.

    • Función cliente Javascript: Especificar la función cliente JavaScript que se va a usar para la autenticación. Esta función extrae un token del punto final del token.

      Configurar la configuración de registro de autenticación de chat.

    Más adelante en este artículo aprende cómo encontrar la URL de clave pública y la función cliente de JavaScript en Configuración para portales de Power Apps o Configuración para portales personalizados.

  4. Seleccione Guardar.

Agregar la autenticación al widget de chat

  1. En el Centro de administración del Copilot Service, edite el widget de chat en la configuración del flujo de trabajo y, a continuación, vaya a la pestaña Comportamientos.

  2. En el cuadro Configuración de autenticación, busque y seleccione el registro de autenticación de chat.

Cuando un cliente registrado en un portal abre el widget de chat, la función de cliente de JavaScript pasa el JWT del cliente al servidor. El servidor valida la firma JWT con la clave pública y luego pasa la información al representante del chat en Dynamics 365 Contact Center. Como administrador, también puedes transmitir más información sobre el cliente iniciado sesión en el JWT definiendo variables de contexto personalizadas. Debes definir las variables de contexto exactamente tal y como están en el flujo de trabajo asociado al widget de chat. Más información en Administrar variables de contexto.

Configuración de portales de Power Apps

Si agrega autenticación para un widget de chat en un sitio web que ha desarrollado usando portales de Power Apps, obtiene la URL de clave pública y la función de cliente JavaScript. Debe cargar un certificado personalizado para tener una URL de clave pública válida en los portales de Power Apps.

  • Dirección URL de clave pública: <portal_base_URL>/_services/auth/publickey
  • Función cliente de Javascript: auth.getAuthenticationToken

Para un portal predeterminado de Power Apps, la función cliente en JavaScript devuelve un token que, de forma predeterminada, tiene el claim adecuado para vincular un registro de contacto a la conversación. Este token contiene la notificación sub con el id. de contacto del usuario que ha iniciado sesión. Esta notificación sub proporciona un identificador único que el sistema usa para identificar y vincular automáticamente el registro de contacto de su entorno Dataverse. Obtenga más información sobre la notificación de sub en el paso 3 de Configuración de portales personalizados.

Configuración para portales personalizados

Si agrega una experiencia de chat autenticada a un sitio web personalizado que no se desarrolla mediante portales de Power Apps, el equipo de desarrollo web debe realizar los pasos siguientes para que el administrador pueda configurar el chat autenticado:

  1. Genere un par de claves pública/privada en sus servidores de autenticación. Las claves deben generarse mediante el algoritmo RSA256.

    El siguiente código de ejemplo genera un par de claves privada y pública.

    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. Crea un punto de conexión que devolverá sus claves públicas. El sistema utiliza las claves públicas para validar el token JWT pasado como parte de la autorización de la solicitud de chat. Introduce la URL de este endpoint en la app de administración al crear un registro de configuración de autenticación.

    La dirección de acceso de su clave pública se verá similar a este ejemplo:

        -----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 necesita utilizar varias claves públicas, el extremo de su clave pública puede devolver un conjunto de pares <kid, publickey>, donde kid hace referencia al Id. de clave. Los pares de ID de clave deben ser únicos. Pasa el kid en el encabezado JWT en el paso 3. Si está utilizando varias claves, el extremo de su clave pública debería devolver algo parecido al ejemplo siguiente. La clave pública está codificada en base64

    [
        { 
            "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
            "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
            "expiry": 1608495423
        },
    {
            "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
            "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
            "expiry": 1608495423
        } 
    ]
    
  3. Necesitas un servicio que genere el JWT para enviarlo al sistema como parte de iniciar un chat para un usuario autenticado.

    a) El encabezado JWT tendrá un aspecto similar al del siguiente ejemplo.

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

    Si está utilizando varias claves públicas, deberá pasar el ID de la clave (kid). Tu encabezado se verá similar al siguiente ejemplo:

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

    b. La carga útil de JWT debe incluir:

    • Como mínimo, las siguientes reclamaciones:

      Reclamar Definición
      iss El emisor del token.
      iat La fecha en que se emitió el token, en formato de fecha numérico.
      exp La fecha de expiración del token, en formato de fecha numérico.
      sub Asunto de la notificación.
      NOTA: Le recomendamos que pase el GUID del registro de contacto o cuenta en Customer Service para el usuario que inició sesión. Este GUID se utilizará para identificar y vincular el registro de contacto a la conversación. La búsqueda de registros identifica los registros que tienen el código de estado activo para contactos o cuentas. La identificación de registros no funciona si usa códigos de estado personalizados.
    • lwicontexts: las variables de contexto para pasar como parte de la conversación, ya sea con fines de enrutamiento o para mostrar al representante.
      Más información en
      Administrar contexto personalizado
      método setAuthTokenProvider
      Identificar registros automáticamente mediante el uso de variables de contexto

    • Cualquier otro dato que desee pasar.

    Su carga útil debería tener un aspecto similar al ejemplo siguiente:

      { 
          "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 firma del token JWT debe ser firmada por la clave privada.

    Nota

    • Si el token ha vencido o no es válido, el widget de chat lanzará un evento de error.
    • El método setContextProvider no se admite para el chat no autenticado. Incluye lwicontexts como parte de la carga útil del JWT.
  4. Cree una función JavaScript en su sitio web que acepte una función de devolución de llamada y devuelva un JWT a la función de devolución de llamada. Para evitar un tiempo de espera, esta función JavaScript debería devolver un JWT en menos de 10 segundos. Este JWT debe cumplir los siguientes criterios:

    • Debe contener el encabezado, la carga útil y la firma del paso 3.

    • Debe estar firmado por la clave privada del par de claves del paso 1.

      Recomendamos generar su JWT en su servidor web.

El siguiente método JavaScript recupera un token de autenticación para el registro de configuración de autenticación en el Centro de administración de Copilot 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();
};
  1. Tu desarrollador necesita compartir la siguiente información con tu administrador:

    a) La URL del servicio de clave pública del paso 2.

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

    b. El nombre de la función de cliente JavaScript del paso 4. El widget de chat en vivo llama a este nombre internamente al inicio de un chat.

    Ejemplo: auth.getAuthenticationToken

    Nota

    Si su experiencia de usuario expone el botón de chat antes de que los usuarios se autentiquen, asegúrese de redirigirlos a su página de autenticación según sea necesario. Puede configurar la redirección en el método del paso 4 o como un paso anterior en su flujo de usuarios.

    La siguiente ilustración muestra la configuración.

    Configuración de chat autenticado.

    Luego, puede configurar un chat autenticado siguiendo estos pasos:

Configuración de chat autenticado

  1. Ve al centro de administración de servicio de Copilot y crea un registro de configuración de autenticación con la información del paso 5 de la sección anterior. Más información en Crear un registro de configuración de autenticación para chat.

  2. Asocie la configuración de autenticación al widget de chat que tendrá una experiencia autenticada. Más información en Agregar autenticación a widget de chat.

    En la siguiente ilustración se demuestra la secuencia de llamadas cuando un usuario accede a su chat en una configuración autenticada.

    Tiempo de ejecución de chat autenticado.

Crear la configuración de autenticación para Apple Messages for Business

Nota

El soporte para el canal Apple Messages for Business está obsoleto. Más información en Deprecaciones.

Requisitos previos

  • Los administradores que configuran los ajustes de autenticación necesitan más permisos de seguridad. Más información en Configurar permisos de seguridad para un campo.

  • Asegúrese de que su organización tenga un conocimiento práctico del flujo de OAuth 2.0 OpenID connect. Los pasos se detallan en la siguiente sección.

  • Confirme que su organización tiene al menos un mensaje enriquecido de tipo de autenticación en Apple Messages for Business. Esta configuración de mensaje enriquecido es necesaria para la instalación.

Crear un registro de configuración de autenticación para Apple Messages for Business mediante el flujo de OAuth 2.0 OpenID connect

  1. En el mapa del sitio del Centro de administración del servicio Copilot, vaya a Soporte al cliente>Configuración del cliente, y, a continuación, seleccione Administrar para Configuración de autenticación. Aparece una lista de la configuración de autenticación existente.

  2. Seleccione Nueva configuración de autenticación y, en la página Agregar configuración de autenticación, facilite los siguientes detalles:

    1. En la página Tipo de canal, introduzca un nombre y luego seleccione Apple Messages for Business como tipo de canal.

    2. En Tipo de autenticación, seleccione Flujo de conexión openID de OAuth 2.0.

    3. En la página Agregar configuración de autenticación, proporcione la información siguiente:

      • ID de cliente: el identificador de cliente de OAuth 2.0 emitido por un servidor de autorización.
      • Secreto del cliente: secreto de cliente utilizado para autenticar las solicitudes enviadas a un servidor de autorización.
      • Ámbito: cada ámbito que se agregue especificará qué datos de usuario ha solicitado al cliente. El alcance del contenido debe coincidir exactamente con el disponible a través de su proveedor de servicios.
      • URL del token de acceso: El punto de conexión del proveedor de servicios donde se puede solicitar.
      • URL del token descifrado: El punto de conexión donde la API de OAuth 2.0 puede recuperar la información del cliente solicitada en el scope.
      • Parámetros adicionales: permite que los servicios de autenticación tomen parámetros adicionales de la solicitud.
    4. En la página Detalles adicionales, puede definir opcionalmente un tiempo de vencimiento del token de acceso, en segundos. El tiempo de vencimiento predeterminado es de una hora.
      Después de la hora especificada, el campo Autenticado en la sección Resumen de conversación de una conversación autenticada previamente cambia a No.

    5. En la página Mensajes enriquecidos, seleccione Agregar y después seleccione uno o más mensajes enriquecidos para asociarlos con esta configuración de autenticación.

    6. Revise la página Resumen y luego seleccione Siguiente. Se configura el ajuste de autenticación.

    7. En la página Información de redirección, copie la URL. Agregue esta URL a las URL de devolución de llamada permitidas en el sitio web del proveedor de servicios de autenticación.

    8. Seleccione Fin.

Agregar la autenticación a un canal de Apple Messages for Business

  1. Abra la secuencia de trabajo que contiene la instancia de canal a la que desea agregar autenticación.
  2. En la página Comportamientos de la configuración del canal, vaya a Configuración de autenticación, habilite la capacidad y, a continuación, seleccione la configuración correcta en el menú desplegable. Más información en Configurar un canal Apple Messages for Business.
  3. Para revisar o actualizar la configuración de autenticación de cada instancia de canal, seleccione Editar.

Agregar un widget de chat
Configurar una encuesta previa a la conversación
Crear respuestas rápidas
Crear y administrar las horas operativas
Incrustar el widget de chat en los portales de Power Apps
Identificar automáticamente a clientes