Área 51 Wiki

Documentação Técnica do Sistema de Autenticação OAuth 2.1 + OIDC

FASE 5 CONCLUÍDA 77.3% Testes Aprovados Enterprise Security Azure Cloud

Visão Geral

Bem-vindo à documentação técnica do Sistema de Autenticação e Autorização CaraCore. Este projeto implementa um fluxo de login seguro e moderno utilizando OAuth 2.1 e OpenID Connect (OIDC), com foco em segurança, performance e escalabilidade.

Fase 5 Concluída! O sistema agora inclui um painel administrativo completo para gestão de usuários, aprovações e senhas, com uma arquitetura de frontend totalmente reorganizada e centralizada.

O sistema foi validado por um conjunto de 22 testes automatizados, atingindo uma taxa de sucesso de 77.3%, o que garante a funcionalidade das principais features em produção.

Arquitetura

A arquitetura é dividida em dois componentes principais:

  • Frontend: Uma aplicação estática (HTML, CSS, JS) hospedada em CDN global, responsável pela interface do usuário e interação com os provedores OIDC.
  • Backend: Uma API em Python (Flask) rodando em um container Docker no Azure Web App, responsável pela validação de tokens, lógica de negócio e, agora, pela gestão administrativa.
Diagrama de Arquitetura do Sistema OAuth 2.1 + OIDC CaraCore
Novidade Fase 5: A arquitetura agora inclui endpoints administrativos (`/api/admin/*`) protegidos por um token de super admin, garantindo que apenas usuários autorizados possam gerenciar o sistema.

Segurança

A segurança é o pilar deste projeto. As seguintes medidas foram implementadas:

  • PKCE (Proof Key for Code Exchange): Previne ataques de interceptação de código de autorização.
  • Validação de Token JWT: O backend valida a assinatura, expiração e emissor de cada token.
  • HTTPS Obrigatório: Todo o tráfego é criptografado.
  • Content Security Policy (CSP): Implementado para mitigar ataques XSS.
  • Autenticação de Super Admin: Acesso aos painéis administrativos protegido por credenciais separadas e hash de senha seguro (bcrypt).
  • Rate Limiting: Proteção contra ataques de força bruta nos endpoints de autenticação.
Próximos Passos (Fase 6): Os testes automatizados apontaram a necessidade de fortalecer o sistema de autorização e a proteção de endpoints, que serão o foco da próxima fase de desenvolvimento.

Stack Técnico

Backend
  • Python 3.10
  • Flask 3.0.3
  • Gunicorn
  • Authlib
  • PyJWT
  • Bcrypt
Frontend
  • HTML5 / CSS3
  • JavaScript (ES6+)
  • Bootstrap 5.3
  • Bootstrap Icons
Infraestrutura
  • Azure Web App
  • Azure Container Registry
  • Docker
  • CDN Global
Testes
  • Python (requests)
  • JSON Reports

Fases do Projeto

Implementação do fluxo OAuth 2.1 + OIDC com Google e Microsoft, validação de token, deploy em Azure e criação da interface de usuário.

Criação do login de super admin, painel de gestão de usuários, painel de aprovação de solicitações e funcionalidade de alteração de senha. Incluiu uma reorganização completa da arquitetura de CSS e JavaScript para um modelo centralizado e modular.

Foco em resolver os 5 testes que falharam, implementando um sistema de autorização robusto, fortalecendo a proteção de endpoints e calibrando a validação de credenciais. A meta é atingir mais de 90% de aprovação nos testes automatizados.

Métricas Atuais

77.3%

Taxa de Sucesso nos Testes

22

Total de Testes Automatizados

5

Fases Concluídas

Deploy

O deploy é realizado em duas partes:

  1. Frontend: O deploy é automático via pipeline CI/CD para CDN global a cada atualização na branch principal.
  2. Backend: A imagem Docker é construída e enviada para o Azure Container Registry. A Azure Web App é atualizada para usar a nova imagem através de pipeline automatizado.