Arquitectura de integración

Google Auth Worker | JavaScript

Node.js servicio de worker para generar y distribuir tokens de Google OAuth a servicios de integración

Contexto del problema, stack y tipo de sistema

Este proyecto aborda un cuello de botella de integración de APIs recurrente: los workers distribuidos que dependen del acceso a Google API pero que no deben administrar la emisión de tokens de forma independiente. El worker centraliza la generación de tokens y la distribución segura, creando un sistema de automatización consistente para integraciones posteriores.

Alcance técnico

  • Stack: JavaScript, Node.js, GitHub Actions, Google OAuth2, GitHub API
  • Tipo de sistema: Integración de APIs con Node.js, automatización de autenticación, capa de orquestación
  • Palabras clave en contexto: Node.js api, sistema de automatización, sistema de integración api

Implementaciones relacionadas: Zoho Integration Worker, Hablla Integration Worker y Zenvia Integration Worker. El contexto técnico más amplio se cubre en Ingeniero de integración de APIs y Automatización de backend.

Documentación completa del proyecto

Google Auth Worker

Código fuente Portafolio Autor

Un servicio de worker Node.js responsable de generar y distribuir tokens de Google OAuth a otros servicios de integración.

Descripción general

Este worker automatiza el proceso de generación de tokens de acceso de Google OAuth utilizando las credenciales de la cuenta de servicio y distribuyéndolos a varios workers de integración que requieren acceso a Google API.

Características

  • OAuth Generación de tokens: Genera automáticamente tokens de acceso de Google OAuth
  • Autenticación de cuenta de servicio: utiliza las credenciales de la cuenta de servicio de Google para la autenticación
  • Distribución de tokens: Distribuye tokens a múltiples workers de integración a través del envío del repositorio GitHub
  • Ejecución programada: Se ejecuta automáticamente a través de GitHub Actions según un cronograma
  • Ejecución manual: Admite activación manual con orientación de repositorio específico

Arquitectura

Componentes

  • Generador de tokens: Genera tokens de acceso OAuth usando la autenticación JWT
  • Despachador de tokens: Envía tokens a los workers de integración a través de GitHub API
  • Integración de monitoreo: Informa el estado de ejecución al sistema de monitoreo central

Puntos de integración

  • Google APIs: Se autentica con el servicio Google OAuth2
  • GitHub API: envía tokens a otros repositorios
  • Monitor de operaciones en la nube: Estado de ejecución de informes

Configuración

Variables de entorno requeridas

GOOGLE_CLIENT_EMAIL=your-service-account-email@project.iam.gserviceaccount.com
GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY\n-----END PRIVATE KEY-----\n"
GH_PAT=your_github_personal_access_token

GitHub Secretos

Se deben configurar los siguientes secretos en el repositorio GitHub:

  • GOOGLE_CLIENT_EMAIL: dirección de correo electrónico de la cuenta de servicio de Google
  • GOOGLE_PRIVATE_KEY: Clave privada de la cuenta de servicio de Google (con el sistema de escape adecuado)
  • GH_PAT: GitHub Token de acceso personal con permisos de envío de repositorio

Uso

Ejecución automática

El worker corre automáticamente todos los días a las 06:00 am hora de Brasilia vía GitHub Actions:

schedule:
    - cron: '0 9 * * *' # 06:00 AM Brasilia

Ejecución manual

Active el flujo de trabajo manualmente con la segmentación por repositorio opcional:

workflow_dispatch:
  inputs:
    repo_especifico:
      description: 'Specific repository (e.g., organization/worker-zoho-sync). Leave EMPTY to run ALL.'
      required: false
      default: ''

Repositorios de destino

De forma predeterminada, el worker envía tokens a:

  • organization/worker-hablla-integration
  • organization/worker-zoho-integration
  • organization/worker-zenvia-integration

Funciones de seguridad

  • Generación segura de tokens: Utiliza autenticación JWT con credenciales de cuenta de servicio
  • Enmascaramiento de tokens: Todos los datos confidenciales están enmascarados en registros
  • Variables de entorno: Credenciales almacenadas de forma segura como variables de entorno
  • Permisos mínimos: Los flujos de trabajo GitHub Actions utilizan los permisos mínimos requeridos

Monitoreo

El estado de ejecución se informa al sistema de seguimiento central:

  • Estado de éxito/fracaso
  • Marcas de tiempo de ejecución
  • Detalles del error (con datos confidenciales enmascarados)

Solución de problemas

Problemas comunes

  1. Credenciales no válidas: Verificar el correo electrónico de la cuenta de servicio y la clave privada
  2. Permisos insuficientes: Asegúrese de que GitHub PAT tenga permisos de envío de repositorio
  3. Problemas de red: Verifique la conectividad con los OAuth2 endpoints de Google

Registros

Todos los registros de ejecución se procesan mediante funciones de registro seguras que:

  • Enmascarar información confidencial
  • Incluir marcas de tiempo y niveles de registro
  • Reportar al sistema de monitoreo

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Haz tus cambios
  4. Agregue pruebas para sus cambios
  5. Enviar una solicitud de extracción

Licencia

Este proyecto tiene la licencia MIT (consulte la notas de licencia en el repositorio para más detalles.

Soporte

Para soporte y preguntas, comuníquese con el equipo de desarrollo.

Autor

Patrick Araujo - Ingeniero Informático
GitHub: https://github.com/PkLavc
Portafolio: https://pklavc.com/projects/


Google Auth Worker - Orquestación segura de tokens para canales de integración distribuida.

GitHub Sponsors

Stack tecnológico

JavaScript
Google OAuth2
GitHub Actions
GitHub API
Node.js

Ver el código fuente

Abrir en GitHub