Google Auth Worker
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 GoogleGOOGLE_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-integrationorganization/worker-zoho-integrationorganization/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
- Credenciales no válidas: Verificar el correo electrónico de la cuenta de servicio y la clave privada
- Permisos insuficientes: Asegúrese de que GitHub PAT tenga permisos de envío de repositorio
- 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
- Bifurcar el repositorio
- Crear una rama de características
- Haz tus cambios
- Agregue pruebas para sus cambios
- 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.