Introdução para Integradores - ecosif-auth

Atualizado (MVP1): login externo via POST /api/auth/external-login. Legado signin-azure removido. Ver autenticacao.md.

Bem-vindo!

Este documento fornece uma visão geral do serviço ecosif-auth para integradores que desejam utilizar a API.

O que é o ecosif-auth?

O ecosif-auth é o serviço central de autenticação e autorização do ecossistema eCosif. Ele fornece:

Por que usar o ecosif-auth?

Como Funciona

Fluxo Básico

  1. Login: Cliente faz login enviando credenciais
  2. Token: Serviço retorna token JWT
  3. Uso: Cliente usa token em requisições para serviços ecosif
  4. Validação: Cada serviço valida o token automaticamente
┌─────────┐         ┌──────────────┐         ┌─────────────┐
│ Cliente │────────>│ ecosif-auth  │────────>│   Token     │
│         │  Login  │              │         │    JWT      │
└─────────┘         └──────────────┘         └─────────────┘
     │                                           │
     │                                           │
     │         ┌─────────────────────────────────┘
     │         │
     ▼         ▼
┌──────────────────────────────────────┐
│  Outros Serviços ecosif              │
│  (validam token automaticamente)     │
└──────────────────────────────────────┘

Endpoints Principais

Autenticação

Documentação

Métodos de Autenticação

1. Autenticação Local

Usuário e senha armazenados no sistema: - Ideal para ambientes internos - Requer que usuário já esteja cadastrado

2. Autenticação Azure AD

Integração com Microsoft Azure Active Directory: - Ideal para empresas que usam Azure AD - Suporta criação automática de usuários - Não requer senha (Azure valida)

3. OAuth2 (Google)

Login via conta Google: - Ideal para aplicações que preferem SSO social - Configuração opcional

Tokens JWT

O que é JWT?

JWT (JSON Web Token) é um padrão aberto para transmitir informações de forma segura entre partes.

Estrutura do Token

O token JWT retornado contém:

Validade

Após expirar, é necessário fazer login novamente.

Base URL

Autenticação em Requisições

Para usar endpoints protegidos, inclua o token no header:

Authorization: Bearer <seu-token-jwt>

Exemplo:

GET /api/admin/docker-logs?service=ecosif-auth
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c3VhcmlvQGV4ZW1wbG8uY29tIiwiaWF0IjoxNjQwMDAwMDAwLCJleHAiOjE2NDAwMTgwMDB9.xyz

Códigos de Status HTTP

Formato de Respostas

Sucesso

{
  "accessToken": "eyJhbGciOiJIUzI1NiJ9...",
  "user": {
    "id": "1",
    "displayName": "João Silva",
    "email": "joao.silva@exemplo.com",
    "roles": ["ADMIN"],
    "tenant": "empresa-exemplo"
  },
  "tenantName": "empresa-exemplo"
}

Erro

{
  "success": false,
  "message": "Mensagem de erro descritiva"
}

Próximos Passos

Para começar a integrar:

  1. Autenticação: Aprenda a autenticar usuários
  2. Uso da API: Saiba como usar a API
  3. Exemplos: Veja exemplos práticos
  4. Erros Comuns: Resolva problemas frequentes

Recursos Adicionais

Suporte

Para suporte: - Consulte a documentação completa em /docs - Teste endpoints no Swagger UI - Entre em contato com a equipe de desenvolvimento

Versão da API

Versão atual: 0.7.01.202511271

A API segue versionamento semântico. Mudanças que quebram compatibilidade serão sinalizadas com antecedência.