Intermediario de conexión para Google y Meta

Un intermediario de conexión (connection broker) es una base de datos Odoo central que posee un cliente OAuth de Google verificado y una aplicación de Meta, y permite que muchas otras bases de datos Odoo (las instancias) se conecten a cuentas de Google y Meta a través de él. Las instancias no crean ninguna aplicación en Google ni en Meta: sus administradores solo hacen clic en Conectar.

Esta página es para los administradores de una empresa que ofrece la conexión como servicio a varias bases de datos, por ejemplo un integrador que gestiona las bases de datos de sus clientes. Si solo usa la aplicación Google o Meta en su propia base de datos, lea en su lugar Conexiones.

Importante

El intermediario es una base de datos independiente, que se instala una sola vez. No lo instale en las bases de datos que usan las aplicaciones Google y Meta. Instale Website Tracking Connection Broker desde Aplicaciones en la base de datos central.

Cómo funciona

  1. El administrador de una instancia hace clic en Conectar en una conexión en modo Servicio bróker.

  2. La instancia envía al administrador al intermediario con una solicitud firmada. El intermediario comprueba la instancia, la firma, la dirección de retorno y los permisos solicitados, y luego redirige al administrador a la pantalla de consentimiento de Google o Meta.

  3. Tras el consentimiento, el intermediario conserva cifrado el secreto de larga duración de la cuenta (el token de actualización de Google o el token de larga duración de Meta) y devuelve al administrador a la instancia con un código de un solo uso válido durante diez minutos.

  4. La instancia canjea el código. A partir de entonces, pide al intermediario tokens de acceso de corta duración cuando necesita llamar a Google o Meta. Los secretos de larga duración nunca salen del intermediario.

El intermediario nunca lee los datos de las instancias: solo conserva las autorizaciones.

Configurar el intermediario

Vaya a Ajustes ‣ Bróker de seguimiento ‣ Ajustes. Todos los ajustes siguientes están disponibles solo para los administradores.

Clave de cifrado

Los tokens se guardan cifrados con una clave. Genere una clave y añádala al archivo de configuración del servidor:

website_tracking_broker_key = <key>

Puede indicar varias claves separadas por comas: la primera cifra y todas descifran. Esto permite rotar la clave. El ajuste Cifrado de tokens muestra el Estado de la clave de cifrado.

Advertencia

Sin la opción en el archivo de configuración, Odoo genera una clave y la guarda en la base de datos. Se muestra una advertencia en los ajustes. Una clave guardada en la base de datos se pierde con ella: use el archivo de configuración en producción y guarde una copia de la clave en un lugar seguro. Si se pierde la clave, hay que volver a hacer todas las conexiones.

URL pública

En el ajuste URL pública, introduzca la dirección HTTPS pública del intermediario (por ejemplo https://connect.example.com). Se entrega a las instancias. Los URI de redirección que debe registrar en Google y Meta se muestran en los ajustes: la dirección seguida de /broker/google/callback y /broker/meta/callback.

screenshot: general-tracking-broker-settings
menu
Settings ‣ Tracking Broker ‣ Settings
shows
The Tracking Broker settings: the Public URL, the Token Encryption status, the Google OAuth Client with the redirect URI, the Allowed Scopes, the Meta App with the app ID, the secret (hidden), the Graph API version and the redirect URI, and the Allowed Permissions.
highlight
The Public URL and the redirect URIs (red frame).
data
Public URL "https://connect.example.com", secrets hidden.
notes
English UI, light theme, 1440px width. Use a test database.

Google

  1. En la consola de Google Cloud, cree un proyecto y active las API que usan sus clientes (Content API for Shopping y Merchant API, Google Ads API, Data Manager API, Search Console API, Business Profile APIs, Analytics Admin API).

  2. Configure la pantalla de consentimiento de OAuth con los ámbitos que permite y cree un ID de cliente OAuth de tipo Web application con el URI de redirección de Google que se muestra en los ajustes.

  3. Introduzca el ID de cliente de Google del bróker y el Secreto de cliente de Google del bróker en el ajuste Cliente OAuth.

  4. Compruebe los Ámbitos de Google permitidos: los ámbitos que las instancias pueden solicitar, separados por espacios. Cualquier otra solicitud se rechaza.

Importante

Google debe verificar su aplicación antes de que personas ajenas a su organización puedan concederle ámbitos sensibles (Google Ads, Search Console, Business Profile, Merchant Center). Hasta que se verifique, la aplicación permanece en modo testing y las autorizaciones caducan a los pocos días.

Meta

  1. En Meta for Developers, cree una aplicación de tipo Business y añada el producto Facebook Login for Business.

  2. Añada el URI de redirección de Meta que se muestra en los ajustes a los URI de redirección de OAuth válidos.

  3. Solicite el acceso avanzado de los permisos que permite (revisión de la aplicación).

  4. Introduzca el ID de la aplicación de Meta del bróker, el Secreto de la aplicación de Meta del bróker y la Versión de la Graph API del bróker en el ajuste Aplicación de Meta, y compruebe los Permisos de Meta permitidos.

Registrar las instancias

Vaya a Ajustes ‣ Bróker de seguimiento ‣ Instancias del bróker y cree un registro por base de datos de cliente:

Campo

Descripción

Nombre y Cliente

Para reconocer la instancia.

ID de instancia

El identificador de la instancia, generado por Odoo. Cópielo.

URL del bróker

La dirección del intermediario que se debe dar a la instancia.

Google y Meta

Los proveedores que la instancia puede usar.

Hosts permitidos

Los nombres de host de los sitios web de la instancia, uno por línea (www.example.com o host:port). El intermediario solo redirige a los administradores de vuelta a estos hosts, que deben usar HTTPS (se acepta HTTP simple para localhost).

Haga clic en Mostrar secreto. Una ventana muestra la URL del bróker, el ID de instancia y el secreto. El secreto se muestra una sola vez: copie los tres valores y envíelos de forma segura al administrador de la instancia. Si pierde el secreto, haga clic en Generar nuevo secreto; la instancia deberá actualizarse.

El administrador de la instancia introduce los tres valores en Sitio web ‣ Configuración ‣ Ajustes ‣ Seguimiento ‣ Bróker de conexión. Vea Ajuste Connection Broker.

screenshot: general-tracking-broker-instance
menu
Settings ‣ Tracking Broker ‣ Instances ‣ (an instance)
shows
An instance form with the Show Secret and Generate New Secret buttons, the Instance group (customer, instance ID, broker URL), the Providers group, the Allowed Hosts, and the Grants tab.
highlight
The Show Secret button and the Allowed Hosts (red frame).
data
Instance "Customer website" with host "www.example.com".
notes
English UI, light theme, 1440px width.

Seguir y revocar las conexiones

Ajustes ‣ Bróker de seguimiento ‣ Autorizaciones del bróker enumera las conexiones realizadas a través del intermediario: la instancia, el proveedor, la cuenta conectada, el último uso y el estado.

Estado

Significado

Pendiente

El administrador volvió de la pantalla de consentimiento, pero la instancia todavía no canjeó el código. Las autorizaciones que no se canjean en diez minutos se eliminan.

Activo

La instancia usa la autorización.

Error

El intermediario ya no puede obtener un token (acceso revocado por el usuario, token de Meta caducado). El administrador de la instancia debe volver a conectar. El motivo se muestra en Último error.

Revocada

Desconectada por la instancia o por usted.

Haga clic en Revocar en una autorización para desconectarla. La autorización también se revoca en Google o Meta, salvo que otra autorización use la misma cuenta.

Truco

Un token de Meta dura unos 60 días. El intermediario lo amplía automáticamente cuando se usa durante los últimos siete días y Meta lo permite. Si el token caducó antes, o si Meta lo rechaza, el estado pasa a Error y el administrador de la instancia debe hacer clic en Volver a conectar.

Seguridad

  • Cada solicitud de una instancia se firma con su secreto. Una solicitud con una firma incorrecta, una instancia desconocida o un proveedor no permitido se rechaza, y el número de solicitudes está limitado.

  • El intermediario solo redirige a los hosts permitidos de la instancia y solo se solicitan los ámbitos permitidos.

  • Las instancias reciben tokens de acceso que duran unos minutos (Google) o el token de larga duración necesario para la llamada (Meta); los tokens de actualización permanecen cifrados en el intermediario.

  • Trate el intermediario como un sistema sensible: restrinja el acceso a su base de datos, use solo HTTPS y haga una copia de seguridad de la clave de cifrado.