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
- [x] Payload
signin só com username + password (sem azure)
- [x] URL de auth aponta para
/api/auth/signin (não signin-azure)
- [x] JWT ECOSIF obtido e aceito em
GET .../ecosif-masterdata/user (200)
- [x] Testes unitários
test_api_client_auth.py (5/5)
- [x] Script
scripts/regression-auth-signin.sh documentado e executado
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