Regressão auth — ecosif-automations (P4-02)

Data: 2026-07-07
Status: concluído (local / Traefik)
Checklist auth: pen-test-checklist-auth (I-01)
Código: src/aws_clients/api_client.py

Escopo

Validar que integrações server-to-server do ecosif-automations continuam usando POST /api/auth/signin (login local) e JWT ECOSIF nas APIs de negócio — sem signin-azure nem campo legado azure.

Alterações

Item Detalhe
Payload signin Somente username + password (removido azure: false)
Context paths default /ecosif-auth, /ecosif-masterdata
clear_cached_bearer_token() Para testes e troca de credenciais
Testes tests/unit/test_api_client_auth.py
Script scripts/regression-auth-signin.sh

Execução

cd ecosif-automations
pip install -r requirements-dev.txt   # se necessário

# Via Traefik (:80) — masterdata no proxy; auth na porta exposta
ECOSIF_API_URL_MODE=gateway \
ECOSIF_AUTH_PORT=8091 \
ECOSIF_AUTH_PASSWORD='***' \
./scripts/regression-auth-signin.sh

Resultado (2026-07-07)

5 passed
signin_url=http://localhost:8091/ecosif-auth/api/auth/signin
token_len=152
GET http://localhost:8082/ecosif-masterdata/user -> HTTP 200
OK P4-02 regressão signin + JWT em masterdata
Cenário Resultado
_auth_signin_url() .../api/auth/signin
_cached_bearer_token() ✅ JWT 152 chars
GET .../ecosif-masterdata/user + Bearer 200
pytest tests/unit/test_api_client_auth.py ✅ 5/5

Critérios de aceite P4-02

Resultado esperado (reexecução)

Cenário HTTP / saída
_auth_signin_url() .../ecosif-auth/api/auth/signin
_cached_bearer_token() JWT não vazio
GET .../ecosif-masterdata/user + Bearer 200
pytest tests/unit/test_api_client_auth.py todos OK

Referências