Configuracion AuthJWT – BigQuery, paso a paso

Email: info@tuyweb.comsales@tuyweb.com

Teléfono: +57 322 416 5355

Paso 1: Selección del Tipo de Consulta en Looker Studio

Al configurar tu conector personalizado para integrar Looker Studio con BigQuery, el primer paso crucial es elegir el tipo de consulta que deseas realizar. Esta elección define cómo interactuarás con BigQuery y cómo se estructurarán tus consultas.

Opciones de Tipo de Consulta

Dispones de tres opciones para determinar cómo realizar tu consulta:

  1. Escribir Proyecto.Dataset.Tabla Manualmente:
    • Te permite escribir manualmente el identificador en el formato proyecto.dataset.tabla.
    • Esta opción te permite utilizar filtros dinámicos y condiciones basados en claves del JWT o del JSON de la API.
  2. Escribir Consulta SQL Manualmente:
    • Otra opción es poder introducir una consulta SQL directamente.
    • Al igual que con la opción anterior, puedes incorporar condiciones y reemplazar claves del JWT o JSON de la API dentro de tu consulta SQL.
  3. Seleccionar de una Lista:
    • Si prefieres una guía más visual, puedes seleccionar tu proyecto, dataset y tabla de una lista desplegable.
    • Esta opción es ideal si buscas simplicidad y una configuración más rápida, sin la necesidad de escribir la consulta manualmente.

Paso 2: Especificación Detallada de la Consulta

Después de elegir el tipo de consulta en el primer paso, el segundo paso en la configuración del conector entre Looker Studio y BigQuery es proporcionar detalles específicos de la consulta que deseas realizar. Este paso varía según la opción que hayas seleccionado previamente.

Opciones Basadas en tu Selección del Paso 1

  1. Si Elegiste Escribir Proyecto.Dataset.Tabla:
    • Debes ingresar el identificador específico de tu consulta en el formato proyecto.dataset.tabla.
    • Esta opción te permite aplicar dinámicamente filtros y condiciones, utilizando las claves del JWT o del JSON de la API.
  2. Si Elegiste Escribir una Consulta SQL:
    • Aquí, deberás escribir tu consulta SQL personalizada.
    • Al igual que en la opción anterior, tienes la flexibilidad de incorporar condiciones y realizar reemplazos dinámicos utilizando las claves del JWT o del JSON de la API en tu consulta.
  3. Si Elegiste Seleccionar de una Lista:
    • En este caso, se te presentará una lista desplegable de proyectos, datasets y tablas disponibles en tu cuenta de BigQuery.
    • Simplemente selecciona la combinación de proyecto, dataset y tabla que deseas consultar. Esta opción es más directa y no requiere escritura manual de consultas o identificadores.

Paso 3: Elección del Tipo de Token y Método de Envío

El tercer paso en la configuración de tu conector entre Looker Studio y BigQuery es crucial: decidirás cómo se manejará la autenticación mediante tokens y qué método de envío se utilizará. Esta elección afecta la posibilidad de usar campos dinámicos y condiciones en tu consulta SQL.

Opciones de Tipo de Token y Método de Envío

  1. Público (Sin Token):
    • Si optas por esta configuración, no se utilizará un token para la autenticación.
    • Ten en cuenta que, al elegir esta opción, no podrás utilizar campos dinámicos ni condiciones para preprocesar el SQL, ya que dichas funcionalidades requieren de datos de autenticación para personalizar la consulta.
  2. En Header (Autorización, POST, Máx. 8KB):
    • El token se enviará a través del encabezado de una solicitud HTTP POST. Es una opción segura y comúnmente usada.
    • Al seleccionar esta opción, tendrás la capacidad de emplear campos dinámicos y condiciones en tu consulta, aprovechando la información del token.
  3. En JSON (POST):
    • El token se proporciona dentro del cuerpo de la solicitud en formato JSON, a través de una solicitud POST.
    • Al igual que con el envío en Header, esta opción habilita el uso de funcionalidades avanzadas como los campos dinámicos y las condiciones en tu consulta SQL.
  4. En Query (GET):
    • El token se incluye como parte de la cadena de consulta en la URL de una solicitud GET.
    • Esta opción también permite el uso de campos dinámicos y condiciones, basándose en la información contenida en el token.

Consideraciones Importantes

  • Seguridad: La opción pública es más sencilla pero carece de la personalización y seguridad que proporcionan las otras opciones. Es vital evaluar el nivel de seguridad requerido y la sensibilidad de los datos al tomar esta decisión.
  • Limitaciones y Adecuaciones: Recuerda la limitación de tamaño de 8KB para la opción en Header. Además, elige entre POST y GET según tus necesidades de seguridad y el tipo de consulta que realizarás.

Paso 4: Configuración del Token JWT y URL de Callback

Una vez que hayas elegido un tipo de token que no sea público, el cuarto paso en la configuración de tu conector entre Looker Studio y BigQuery es proporcionar los detalles del token JWT y la URL para su validación. Este paso es crucial para asegurar la autenticación y autorización adecuadas en tus consultas SQL.

Ingresar Detalles del Token JWT y URL de Callback

  1. Campo de Entrada para el Token JWT:
    • Aquí debes ingresar el token de autenticación JWT.
    • Este campo es opcional si tu consulta es pública. Sin embargo, para consultas privadas o personalizadas, es esencial proporcionar un token JWT válido.
  2. Campo de Entrada para la URL de Callback:
    • Debes proporcionar la URL que se utilizará para validar el token JWT.
    • Asegúrate de que esta URL sea segura y confiable, ya que jugará un papel importante en la autenticidad y seguridad de tus consultas.

Consideraciones Importantes

  • Validación y Autenticación: AuthJWT valida que se haya ingresado la información necesaria del token y la URL de callback. Si falta alguno de estos elementos, se activará el panel para verificar los datos en el proceso de configuración paso a paso
  • Uso de Filtros Dinámicos y Condiciones: Al utilizar un token JWT y una URL de callback, puedes aprovechar la funcionalidad avanzada de filtros dinámicos y condiciones en tus consultas SQL, basándote en la información del token.

Filtros dinámicos y condiciones

Para optimizar la interacción entre tu aplicación WordPress y BigQuery, AuthJWT permite ejecutar consultas SQL dinámicas en BigQuery, modificadas en función de las credenciales de usuario proporcionadas a través de un token JWT (JSON Web Token).

Requisitos Específicos

  1. Tipo de Datos Dinámicos:
    • Define si los datos dinámicos provienen del payload del JWT o de la respuesta JSON de la API que valida el token.
    • Esta selección determina la fuente de los datos que se utilizarán para reemplazar las claves en tu consulta SQL.
  2. Tipo de Token y Validación:
    • Debes seleccionar un tipo de token de autenticación que no sea público. Las opciones disponibles son “En Header (Autorización)”, “En JSON” o “En Query”.
    • Al seleccionar cualquiera de estas opciones, podrás utilizar campos dinámicos y condiciones en tu consulta.
  3. Ingresar el Token JWT y URL de Callback:
    • Proporciona el token JWT en el campo correspondiente. Este será el token de autenticación utilizado en la consulta.
    • Ingresa la URL de callback para la validación del token JWT. Esta URL se utilizará para verificar la autenticidad del token.

¿Cómo Funciona?

AuthJWT evalúa y procesa consultas SQL con condiciones especiales (IF-ELSE) y reemplaza valores basadas en los datos contenidos en una carga util de JWT (@KEY@) o en la respuesta JSON de la API de validación del JWT. Esta capacidad es especialmente útil para personalizar consultas a la base de datos en función del rol o permisos del usuario autenticado.

Funcionalidades Clave

  1. Reemplazo de Valores con Claves de JWT/JSON:
    • La función automáticamente reemplaza los valores encerrados entre @ en tu consulta SQL con los datos correspondientes del JWT o del JSON devuelto por la API.
    • Ejemplo:
      • JWT o JSON de la API: {"ORGANIZATION":"TUYWEB"}
      • Uso en SQL: SELECT * FROM history.pays.december WHERE organization="@ORGANIZATION@"
      • Conversión: SELECT * FROM history.pays.december WHERE organization="TUYWEB"
    Esta característica permite personalizar las consultas SQL dinámicamente basándose en los datos del usuario o en configuraciones específicas.
  2. Manejo de Condiciones IF-ELSE en SQL:
    • Puedes incluir condiciones IF-ELSE en tus consultas SQL para ejecutar diferentes instrucciones basadas en los valores del JWT/JSON.
    • Sintaxis de la Consulta:
      • IF (condición) {consulta SQL cuando la condición es verdadera} ELSE {consulta SQL cuando la condición es falsa}

Ejemplo de Uso

Supongamos que deseas realizar una consulta personalizada en BigQuery según el rol del usuario y la organización a la que pertenece:

  • JWT o JSON de la API: {"userRole": "admin", "ORGANIZATION": "TUYWEB"}
  • Consulta SQL con condiciones y reemplazo de valores: SELECT * FROM @ORGANIZATION@.users IF (@userRole@ == 'admin') {WHERE status = 'active'} ELSE {WHERE status = 'inactive'}
  • Conversión Realizada: SELECT * FROM TUYWEB.users WHERE status = 'active' // Si userRole es 'admin'

Pasos para Configurar

  1. Insertar la Consulta SQL: Escribe la consulta SQL en el campo provisto, utilizando @ para marcar los valores que deben ser reemplazados por datos del JWT o del JSON de la API.
  2. Agregar JWT Payload o JSON de la API: Asegúrate de que el JWT o el JSON de la API contengan los datos necesarios para tu consulta.
  3. Ejecutar la Consulta: Al procesar la consulta, se reemplazarán los marcadores y se evaluarán las condiciones, generando una consulta SQL personalizada y segura.

Beneficios

  • Personalización Avanzada: Ofrece la capacidad de modificar dinámicamente las consultas SQL basadas en datos específicos del usuario o configuraciones de la API.
  • Seguridad y Flexibilidad: Permite una gestión más segura y flexible de las consultas SQL, adaptándolas a diferentes roles de usuarios y situaciones.
  • Eficiencia Operativa: Mejora la eficiencia en la gestión de datos y la interacción con BigQuery, reduciendo la complejidad y el tiempo de desarrollo.
Scroll to Top