Explorar documentación

Crear una app de Google OAuth para OpenConnector

Usa una app de Google OAuth cuando un runtime autohospedado de OOMOL OpenConnector necesite conectar la cuenta de Google de un usuario. Un proyecto de Google Cloud puede contener el cliente OAuth utilizado por Gmail, Google Drive, Google Calendar, Google Sheets, Google Docs, Google Slides, YouTube, Google Analytics, Google BigQuery y otros proveedores de API de Google.

Servicios de OpenConnector

Los IDs de servicio de Google OAuth más comunes incluyen:

ID de servicioProveedor
gmailGmail
googledriveGoogle Drive
googlecalendarGoogle Calendar
googlesheetsGoogle Sheets
googledocsGoogle Docs
googleslidesGoogle Slides
youtubeYouTube
google_analyticsGoogle Analytics
google_bigqueryGoogle BigQuery

Cada servicio almacena su propia configuración de cliente OAuth en OpenConnector. Puedes reutilizar el mismo ID de cliente y secreto de cliente de Google OAuth para varios servicios de Google si el cliente permite el mismo URI de redirección y las API y los ámbitos necesarios.

Requisitos previos

  • Un runtime de OpenConnector en ejecución.
  • Una cuenta de Google con acceso a un proyecto de Google Cloud.
  • Permiso para configurar el consentimiento de OAuth, habilitar API y crear credenciales de OAuth en Google Cloud.
  • El origen de OpenConnector que los usuarios abren en el navegador, como http://localhost:3000 o https://connect.example.com.

Paso 1: Establecer la URL de callback de OpenConnector

Para pruebas locales, usa:

http://localhost:3000/oauth/callback

Para un runtime público, establece primero OOMOL_CONNECT_ORIGIN y usa:

https://connect.example.com/oauth/callback

Paso 2: Preparar el proyecto de Google Cloud

En Google Cloud Console:

  1. Crea o selecciona un proyecto.
  2. Abre APIs y servicios.
  3. Habilita las API que necesita tu servicio de OpenConnector, como Gmail API, Google Drive API, Google Calendar API, Google Sheets API, YouTube Data API, Google Analytics Data API o BigQuery API.
  4. Abre Pantalla de consentimiento de OAuth y configura el nombre de la app, el correo de asistencia, la audiencia, la información de contacto y los usuarios de prueba cuando Google los solicite.
  5. Añade los ámbitos que necesita el servicio de OpenConnector o deja que Google los muestre durante el consentimiento cuando se inicie la solicitud de OAuth.

Google puede exigir verificación antes del uso amplio en producción de ámbitos sensibles o restringidos. Para uso local o pruebas internas, mantén la app en el estado de prueba o interno permitido por tu tipo de cuenta de Google.

Paso 3: Crear credenciales de OAuth

En APIs y servicios > Credenciales:

  1. Elige Crear credenciales.
  2. Elige ID de cliente de OAuth.
  3. Selecciona Aplicación web.
  4. Añade la URL de callback exacta de OpenConnector en los URI de redirección autorizados.
  5. Crea el cliente.
  6. Copia el ID de cliente y el secreto de cliente.

La guía oficial de OAuth de Google es Usar OAuth 2.0 para aplicaciones de servidor web.

Paso 4: Guardar el cliente en OpenConnector

Usa la consola web de OpenConnector para el servicio que quieres conectar:

  1. Abre la consola web de OpenConnector, como http://localhost:3000.
  2. Abre Providers y selecciona Gmail u otro proveedor de Google.
  3. Elige Configure OAuth Client o Edit OAuth Client.
  4. Pega el ID de cliente y el secreto de cliente de Google.
  5. Elige Save OAuth Client.

Repite estos pasos en cada página de proveedor de Google cuando quieras usar el mismo cliente de Google OAuth para otro proveedor de Google.

Paso 5: Conectar y probar

Después de guardar el cliente OAuth, elige Conectar en la página del proveedor de Google. Completa el consentimiento de Google, vuelve a OpenConnector y confirma que la página del proveedor muestra la cuenta como conectada.

Para Gmail, las acciones de prueba de bajo riesgo incluyen gmail.get_profile y gmail.list_labels. Usa los detalles de la acción en la consola para comprobar la entrada exacta antes de ejecutar una acción.

Solución de problemas

SíntomaQué comprobar
redirect_uri_mismatchEl URI enviado a Google debe coincidir exactamente con un URI de redirección autorizado en el cliente OAuth. Confirma que es <openconnector-origin>/oauth/callback.
Google muestra la app como no verificadaSigue probando con los usuarios de prueba permitidos, usa el modo interno cuando esté disponible o completa el proceso de verificación de Google antes del uso amplio.
Google no emite un token de actualizaciónVuelve a conectar la cuenta. Los proveedores de Google de OpenConnector solicitan acceso sin conexión y consentimiento cuando la definición del proveedor requiere tokens de actualización.
Una acción de Google indica permisos insuficientesHabilita la API requerida en Google Cloud, añade o aprueba el ámbito requerido y vuelve a conectar la cuenta.
Se usa la cuenta de Google incorrectaVuelve a conectar desde un perfil de navegador que haya iniciado sesión en la cuenta de Google deseada.

Guarda los secretos de cliente de Google en tu gestor de secretos y establece OOMOL_CONNECT_ENCRYPTION_KEY antes de almacenar clientes OAuth en OpenConnector.