Pular para o conteúdo principal
Versão: 10.4.1

Configurar ambiente dev

appsettings.Development.json

O arquivo é gitignored; crie a partir do sample:

cp src/MyService.Api/appsettings.Development.json.sample \
src/MyService.Api/appsettings.Development.json

Ajuste:

  • ConnectionStrings:Default — connection string do SQL Server. Default usa LocalDB ((localdb)\mssqllocaldb).
  • Identity:Admin:{Email,Password} — admin de bootstrap seedado no Identity local na startup (opcional; omita para não seedar). A senha precisa satisfazer a política: ≥12 caracteres, maiúscula/minúscula/dígito/símbolo.
  • Authentication:TokenIssuer/Audience dos tokens emitidos.

Signing key (dev vs produção)

A API emite os próprios tokens (Identity local, JWT assimétrico RSA) — não precisa de IdP externo:

  • Dev: SigningKeyPemPath vazio → chave RSA ephemeral gerada na startup.
  • Produção: chave PEM obrigatória — AddDevPackSigningKey falha cedo na startup fora de Development sem chave configurada.

SPA com HMR

O frontend é servido same-origin pela API. Para desenvolvimento com hot reload, dois terminais:

cd src/MyService.Spa && pnpm install && pnpm dev # Vite dev server em :5173
dotnet run --project src/MyService.Api # API

Navegue sempre na origem da API (mesma topologia da produção) — com Spa:DevServerUrl configurado, a API reverse-proxia as rotas não-API para o Vite, HMR incluído. Navegar direto no Vite também funciona, mas o proxy do vite.config.ts deve apontar para o endpoint HTTPS da API (o HTTP responde 307 e quebra o cookie de sessão).

Observabilidade local (opcional)

OpenTelemetry exporta via OTLP configurado por env vars padrão. Sem collector local, use OTEL_SDK_DISABLED=true; com collector:

docker run --rm -p 4317:4317 -p 4318:4318 otel/opentelemetry-collector-contrib

Próximo: Migrations.