* Bootstrap da aplicação com NestJS + TypeScript * Migração de Node.js puro + JavaScript para NestJS como framework * Estrutura base: AppModule, AppController, health check em /health * loadEnv com busca hierárquica de .env por ambiente * Módulo auth completo com arquitetura em camadas: - AuthController: rotas HTTP de autenticação - AuthService: fachada de negócio - AuthConfigService: leitura centralizada de variáveis de ambiente - AuthTokenService: emissão de JWT próprio da aplicação * Autenticação via LDAP/Active Directory com ldapts * Autenticação via Microsoft OAuth 2.0 (Entra ID) * Proteção CSRF no fluxo OAuth com HMAC state assinado * Endpoint /auth/config para o frontend descobrir provedores ativos * Documentação do módulo em docs/auth.md
31 lines
802 B
JSON
31 lines
802 B
JSON
{
|
|
"name": "omnichannel-backend",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "nest build",
|
|
"start": "cross-env NODE_ENV=production node dist/main.js",
|
|
"dev": "cross-env NODE_ENV=development nest start --watch",
|
|
"start:dev": "npm run dev"
|
|
},
|
|
"dependencies": {
|
|
"@nestjs/common": "^11.1.19",
|
|
"@nestjs/core": "^11.1.19",
|
|
"@nestjs/platform-express": "^11.1.19",
|
|
"dotenv": "^16.6.1",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"ldapts": "^8.1.7",
|
|
"reflect-metadata": "^0.2.2",
|
|
"rxjs": "^7.8.2",
|
|
"winston": "^3.19.0",
|
|
"winston-daily-rotate-file": "^5.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@nestjs/cli": "^11.0.21",
|
|
"@types/jsonwebtoken": "^9.0.10",
|
|
"@types/node": "^25.6.2",
|
|
"cross-env": "^7.0.3",
|
|
"typescript": "^6.0.3"
|
|
}
|
|
}
|