Visão geral
Profile Server — API multi-tenant de gestão de customers, apps, tenants e usuários com autenticação Keycloak.
O Profile Server é a API central de perfis e multi-tenancy do ecossistema Reutiliza Já / Reciclar. Ela concentra o cadastro de customers (clientes/ empresas), apps, tenants e usuários, servindo como fonte de verdade para autorização entre as demais aplicações.
Stack
| Camada | Tecnologia |
|---|---|
| Framework | NestJS 11 |
| ORM / Banco | Prisma 7 + PostgreSQL |
| Autenticação | Keycloak (JWT via JWKS, jose) |
| Cache | Redis (ioredis) |
| Validação | Zod |
| Documentação HTTP | Swagger (/docs no servidor NestJS) |
O que a API oferece
- Gestão de identidade local — vincula um
idIdentity(osubdo Keycloak) a um perfil de usuário local, com tipo (Admin,Technician,Cooperative). - Multi-tenancy — um
Customerpossui um ou maisTenants, cada um associado a umApp. - Dois modos de autenticação — usuário final (
/api/*) e app-to-app via client credentials (/service/*). - Autorização fina — cada rota declara um par resource + scope validado
contra as permissões do Keycloak (UMA), com bypass para
super_admin.
Swagger x Fumadocs
O servidor NestJS já expõe um Swagger interativo em http://localhost:3000/docs.
Esta documentação (Fumadocs) é o material conceitual e de referência —
explica arquitetura, fluxos de autenticação e o modelo de dados que o Swagger
não descreve.