Skip to content

Conversation

@vavasilva
Copy link
Contributor

Summary

Implementa a arquitetura de autenticação para agents federados conforme descrito na issue #2.

  • Adiciona plugin tcloud_cognito_auth que valida JWTs do AWS Cognito
  • Integra com TCloud API para buscar permissões do usuário
  • Implementa cache Redis para permissões (TTL 5 min)
  • Propaga headers X-User-Email e X-User-Customers para agents downstream

Estrutura do Plugin

plugins/tcloud_cognito_auth/
├── __init__.py
├── config.py              # Configuração via env vars
├── cognito.py             # Validação JWT com JWKS
├── tcloud_api.py          # Cliente TCloud API
├── cache.py               # Cache Redis
├── tcloud_cognito_auth.py # Plugin principal
├── models.py              # Modelos de dados
├── exceptions.py          # Exceções customizadas
└── tests/                 # Testes unitários

Hooks Implementados

Hook Descrição
http_auth_resolve_user Valida JWT e resolve permissões
agent_pre_invoke Injeta headers antes de chamar agents
tool_pre_invoke Injeta headers antes de chamar tools

Configuração

Requer Kubernetes Secret tcloud-cognito-auth-secret com:

  • COGNITO_USER_POOL_ID
  • COGNITO_REGION
  • COGNITO_APP_CLIENT_ID
  • TCLOUD_API_URL
  • TCLOUD_API_KEY

Test Plan

  • Executar testes unitários: make test-plugin
  • Deploy do ConfigMap: make deploy-plugin-configmap ENV=dev
  • Redeploy Context Forge: make deploy-context-forge ENV=dev
  • Testar autenticação com token Cognito válido
  • Verificar headers propagados nos logs dos agents

Closes #2

…on and user permissions fetching from TCloud API
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(auth): Arquitetura de autenticação para agents federados

2 participants