MVP2 — Operação e endurecimento

Pós-go-live do MVP1. Controla provisionamento e defaults por ambiente, sem mapeamento de groups/claims (MVP4).

Nota (pós-MVP3): endpoints legados (signin-azure, azure:true) foram removidos no MVP3. As seções M2-03/M2-04 abaixo descrevem o histórico da migração; não se aplicam mais ao código atual.

Funcionalidades ativas

ID Funcionalidade Variável
M2-01 Rejeitar usuário desconhecido no external-login ECOSIF_AUTH_AUTO_PROVISION=falseHTTP 404
M2-02 Tenant, role e validade do usuário auto-criado por deploy ECOSIF_AUTH_DEFAULT_*, ECOSIF_AUTH_DEFAULT_EXPIRY_*

M2-01 — Sem auto-provisionamento

Com ECOSIF_AUTH_AUTO_PROVISION=false:

  1. Token externo continua validado (JWKS, iss, aud, exp).
  2. Se gr_user não tiver registro para o username/email do token → 404 Not Found.
  3. Administrador deve cadastrar o usuário antes do primeiro login SSO.
ECOSIF_AUTH_AUTO_PROVISION=false

M2-02 — Defaults de provisionamento (quando AUTO_PROVISION=true)

Variável Default Uso
ECOSIF_AUTH_DEFAULT_TENANT TEMP_TENANT Tenant do novo usuário
ECOSIF_AUTH_DEFAULT_ROLE STAFF Role inicial
ECOSIF_AUTH_DEFAULT_CREATED_BY AZURE_AD Campo created_by
ECOSIF_AUTH_DEFAULT_EXPIRY_TYPE A Tipo de expiração
ECOSIF_AUTH_DEFAULT_EXPIRY_YEARS 1 Validade em anos

Histórico — migração legado (MVP1 → MVP3)

Fase Comportamento
MVP1 signin-azure e azure:true ativos com header Deprecation
MVP2 Flags ECOSIF_AUTH_ENABLE_LEGACY_* para desligar (410 Gone) + métricas Prometheus
MVP3 Código legado removido; usar apenas external-login

Exemplo .env MVP2 (produção)

ECOSIF_AUTH_AUTO_PROVISION=false
ECOSIF_AUTH_DEFAULT_TENANT=EMPRESA_X
ECOSIF_AUTH_DEFAULT_ROLE=STAFF
ECOSIF_JWT_SUBJECT_CLAIM=username

Referências