core/identity-gateway
2025-12-27 14:20:43 -03:00
..
docs refactor identity-gateway to fastify service 2025-12-27 14:20:43 -03:00
migrations refactor identity-gateway to fastify service 2025-12-27 14:20:43 -03:00
src refactor identity-gateway to fastify service 2025-12-27 14:20:43 -03:00
.env.example refactor identity-gateway to fastify service 2025-12-27 14:20:43 -03:00
docker-compose.yml refactor identity-gateway to fastify service 2025-12-27 14:20:43 -03:00
Dockerfile refactor identity-gateway to fastify service 2025-12-27 14:20:43 -03:00
package.json refactor identity-gateway to fastify service 2025-12-27 14:20:43 -03:00
README.md refactor identity-gateway to fastify service 2025-12-27 14:20:43 -03:00
tsconfig.json refactor identity-gateway to fastify service 2025-12-27 14:20:43 -03:00

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-plane
    • billing-finance-core
    • crm-core

Fluxo de confiança

  1. Usuário autentica no identity-gateway.
  2. O gateway valida a identidade (provider local/externo).
  3. O gateway emite JWT interno com claims mínimas.
  4. 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.