| .. | ||
| docs | ||
| migrations | ||
| src | ||
| .env.example | ||
| docker-compose.yml | ||
| Dockerfile | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
identity-gateway
identity-gateway é a autoridade de identidade interna da plataforma. Ele existe para unificar
identidade, RBAC e emissão de tokens confiáveis para serviços internos. Não é um produto de auth
para o mercado, não compete com Auth0/Clerk e não oferece SDKs públicos ou UI de login white-label.
Por que NÃO é Auth0
- Não é vendido como produto standalone de autenticação.
- Não é SDK-first e não prioriza experiência de dev externo.
- Tokens são internos e consumidos apenas por serviços confiáveis.
- UI de login não é foco (nem fornecida aqui).
Papel do identity-gateway
- Centralizar autenticação e autorização.
- Emitir JWTs para serviços internos.
- Manter RBAC e permissões por tenant.
- Ser a autoridade de identidade para:
baas-control-planebilling-finance-corecrm-core
Fluxo de confiança
- Usuário autentica no
identity-gateway. - O gateway valida a identidade (provider local/externo).
- O gateway emite JWT interno com claims mínimas.
- Serviços internos validam e confiam no token.
Nenhum serviço externo emite tokens para o gateway.
Modelo de tokens
Veja docs/token-model.md.
Rodando localmente
cp .env.example .env
npm install
npm run dev
Docker
docker-compose up --build
Estrutura
src/core: guards e serviços centrais.src/modules: auth, users, roles, permissions, sessions, providers.docs: arquitetura, segurança e modelo de tokens.
Notas de segurança
- JWTs são internos e não devem ser expostos diretamente a apps públicos.
- Refresh tokens são armazenados com hash no banco.