Arquitetura de Integração

Google Auth Worker | JavaScript

Node.js serviço de trabalho para gerar e distribuir tokens do Google OAuth para serviços de integração

Contexto do problema, stack e tipo de sistema

Este projeto aborda um gargalo de integração de APIs recorrente: workers distribuídos que dependem do acesso do Google API, mas não devem gerenciar a emissão de tokens de forma independente. O worker centraliza a geração de tokens e a distribuição segura, criando um sistema de automação consistente para integrações downstream.

Escopo Técnico

  • Stack: JavaScript, Node.js, GitHub Actions, Google OAuth2, GitHub API
  • Tipo de sistema: integração de APIs em Node.js, automação de autenticação, camada de orquestração
  • Palavras-chave no contexto: APIs em Node.js, sistema de automação, sistema de integração de APIs

Implementações relacionadas: Zoho Integration Worker, Hablla Integration Worker e Zenvia Integration Worker. Um contexto técnico mais amplo é abordado em Engenheiro de Integração de APIs e Automação de backend.

Documentação completa do projeto

Google Auth Worker

Código Fonte Portfólio Autor

Um serviço de trabalho Node.js responsável por gerar e distribuir tokens do Google OAuth para outros serviços de integração.

Visão geral

Este worker automatiza o processo de geração de tokens de acesso do Google OAuth usando credenciais de conta de serviço e distribuição deles para vários workers de integração que exigem acesso do Google API.

Recursos

  • OAuth Geração de token: gera automaticamente tokens de acesso do Google OAuth
  • Autenticação de conta de serviço: usa credenciais da conta de serviço do Google para autenticação
  • Distribuição de tokens: Distribui tokens para vários workers de integração por meio do envio do repositório GitHub
  • Execução Agendada: É executado automaticamente via GitHub Actions de acordo com uma programação
  • Execução Manual: Suporta acionamento manual com direcionamento de repositório específico

Arquitetura

Componentes

  • Gerador de tokens: Gera tokens de acesso OAuth usando autenticação JWT
  • Despachante de tokens: Envia tokens para workers de integração via GitHub API
  • Integração de monitoramento: Reporta o status de execução ao sistema de monitoramento central

Pontos de Integração

  • API do Google: autentica com o serviço Google OAuth2
  • GitHub API: Envia tokens para outros repositórios
  • Monitor de operações em nuvem: relata o status de execução

Configuração

Variáveis de ambiente necessárias

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 Segredos

Os seguintes segredos devem ser configurados no repositório GitHub:

  • GOOGLE_CLIENT_EMAIL: endereço de e-mail da conta de serviço do Google
  • GOOGLE_PRIVATE_KEY: chave privada da conta de serviço do Google (com escape adequado)
  • GH_PAT: GitHub Token de acesso pessoal com permissões de envio de repositório

Uso

Execução Automática

O worker é executado automaticamente todos os dias às 06h00 horário de Brasília via GitHub Actions:

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

Execução Manual

Acione o fluxo de trabalho manualmente com direcionamento de repositório opcional:

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

Repositórios de destino

Por padrão, o worker envia tokens para:

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

Recursos de segurança

  • Geração Segura de Token: usa autenticação JWT com credenciais de conta de serviço
  • Mascaramento de token: Todos os dados confidenciais são mascarados em logs
  • Variáveis de ambiente: credenciais armazenadas com segurança como variáveis de ambiente
  • Permissões mínimas: fluxos de trabalho GitHub Actions usam permissões mínimas necessárias

Monitoramento

O status de execução é relatado ao sistema de monitoramento central:

  • Status de sucesso/falha
  • Carimbos de data e hora de execução
  • Detalhes do erro (com dados confidenciais mascarados)

Solução de problemas

Problemas comuns

  1. Credenciais inválidas: Verifique o e-mail e a chave privada da conta de serviço
  2. Permissões insuficientes: Certifique-se de que GitHub PAT tenha permissões de envio de repositório
  3. Problemas de rede: verifique a conectividade com os endpoints do Google OAuth2

Registros

Todos os logs de execução são processados por meio de funções de log seguras que:

  • Mascarar informações confidenciais
  • Incluir carimbos de data/hora e níveis de log
  • Reportar ao sistema de monitoramento

Contribuindo

  1. Bifurque o repositório
  2. Crie uma ramificação de recursos
  3. Faça suas alterações
  4. Adicione testes para suas alterações
  5. Envie uma solicitação pull

Licença

Este projeto está licenciado sob a licença MIT - veja o notas de licença no repositório para obter detalhes.

Suporte

Para suporte e dúvidas, entre em contato com a equipe de desenvolvimento.

Autor

Patrick Araujo - Engenheiro de Computação
GitHub: https://github.com/PkLavc
Portfólio: https://pklavc.com/projects/


Google Auth Worker - Orquestração segura de tokens para pipelines de integração distribuída.

GitHub Sponsors

Stack tecnológica

JavaScript
GoogleOAuth2
GitHub Actions
GitHub API
Node.js

Veja o código-fonte

Abrir em GitHub