Cómo utilizar el tipo de credencial definida por el usuario (OAuth)

Nota: Este artículo se aplica a la integración de acciones de datos de servicios web.

Cuando agrega la integración de acciones de datos de servicios web, puede seleccionar un tipo de credencial: Autenticación básica, definida por el usuario o definida por el usuario (OAuth). Para más información, ver Agregar una integración de acciones de datos y Tipos de credenciales.

Este artículo explica cómo utilizar el tipo de credencial definida por el usuario (OAuth). Para más información, ver Flujo de trabajo para el tipo de credencial definido por el usuario (OAuth).

  1. Cuando agregue la integración, configure las credenciales definidas por el usuario (OAuth).

    Agregue los nombres de campo utilizados por su servicio web y valores para estos nombres de campo.

    Configurar credenciales para usuario definido (OAuth)

    La integración crea una acción de autenticación personalizada que devuelve una respuesta de autenticación.

  2. Configure la acción de autenticación personalizada con la información necesaria para autenticarse con el punto final definido.

    Luego, la integración hace que estos nombres y valores de campo estén disponibles para su uso en acciones personalizadas posteriores. Los valores de respuesta de autenticación son accesibles en el authResponse Contexto de velocidad.

    Para configurar su acción de autenticación, siga estos pasos:

    1. Abra la acción de autenticación personalizada.

      Puede acceder a la acción de autenticación personalizada de dos formas:

      • En la página Credenciales de la acción, haga clic en Acción de autenticación personalizada.
      • En la página Acciones, haga clic en la acción de autenticación personalizada para su integración. Para más información, ver Gestionar acciones.
    2. Haga clic en el Configuración pestaña.
    3. Haga clic en el Configuración pestaña.

      La solicitud de la acción de autenticación personalizada incluye información de autorización. En el siguiente ejemplo, la autorización se incluye en los encabezados. cartas credenciales es una palabra clave estática. loginUrl, Identificación del cliente, y clientSecret son los nombres de campo agregados a la configuración de credenciales.

      Advertencia: Asegúrese de evitar cualquier uso de variables de entrada o salida dentro de requestTemplate, SuccessTemplate, o requestUrlTemplate. Si no escapa correctamente las variables con caracteres especiales, sus acciones de datos fallarán en la ejecución.
      • Usar esc.jsonString para escapar de las cadenas dentro de los cuerpos JSON.

        Para obtener más información, consulte la sección esc.jsonString en Macros de velocidad para acciones de datos.

      • Usar esc.url () o urlTool.optionalQueryParam () para escapar correctamente de la ruta o los parámetros de consulta para un requestUrlTemplate o requestTemplate si usa x-www.form-urlencoded valores.

        Para obtener más información, consulte la sección de la biblioteca de escape de cadenas en Macros de velocidad para acciones de datos.

      Debido a que el escape es específico del contexto JSON, el siguiente ejemplo no muestra el escape intencionalmente.

      {
        "requestUrlTemplate": "${credentials.loginUrl}",
        "requestType": "POST",
        "headers": {
          "Authorization": "Basic $encoding.base64(\"${credentials.clientId}:${credentials.clientSecret}\")",
          "Content-Type": "application/x-www-form-urlencoded"
        },
        "requestTemplate": "grant_type=client_credentials"
      }
      Nota: Si su acción de autenticación personalizada no admite Transfer-Encoding establecido en chunked, añada Transfer-Encoding: buffered en las cabeceras. Para obtener más información, consulte La acción personalizada falla por un motivo inesperado.
    4. Haga clic en el Prueba pestaña.
    5. Hacer clic Ejecutar acción.

      La integración ejecuta la acción de autenticación personalizada y genera lo que devuelve su servicio web (con los valores redactados). En el siguiente ejemplo, el servicio web devuelve access_token por Identificación del cliente, token_type por clientSecret, y expira en

      {
        "access_token": "<redacted string(86)>",
        "token_type": "<redacted string(6)>",
        "expires_in": "<redacted number>"
      }
  3. Utilice la respuesta de autenticación que devuelve su servicio web en las solicitudes de todas las acciones personalizadas que cree. 

    El siguiente ejemplo es una solicitud de una acción personalizada denominada Obtener presencia. El encabezado de la solicitud de acción personalizada incluye la autorización. authResponse es una palabra clave estática. token_type y access_token son los valores devueltos por el servicio web. Para más información, ver Crea una acción personalizada, Agregar configuración a acciones personalizadas, y Solicitar configuración.

    {
      "requestUrlTemplate": "https://api.mypurecloud.com/api/v2/users/${input.USER_ID}/presences/PURECLOUD",
      "requestType": "GET",
      "headers": {
        "Authorization": "${authResponse.token_type} ${authResponse.access_token}"
      },
      "requestTemplate": "${input.rawRequest}"
    }
    Nota: Cuando prueba una acción personalizada, la integración oculta cualquier información de autorización. Para más información, ver Prueba una acción personalizada.

Para obtener más información sobre la integración, consulte Acerca de la integración de acciones de datos de servicios web.