Google Auth Worker
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 GoogleGOOGLE_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-integrationorganization/worker-zoho-integrationorganization/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
- Credenciais inválidas: Verifique o e-mail e a chave privada da conta de serviço
- Permissões insuficientes: Certifique-se de que GitHub PAT tenha permissões de envio de repositório
- 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
- Bifurque o repositório
- Crie uma ramificação de recursos
- Faça suas alterações
- Adicione testes para suas alterações
- 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.