Skip to main content

Metodos de autenticacao

O Kortex Insight usa dois metodos de autenticacao dependendo do tipo de endpoint:

1. Bearer Token (JWT)

Endpoints protegidos exigem um token JWT no header Authorization.
curl -H "Authorization: Bearer {seu_token}" \
  https://{sua_api_base_url}/leads
O token e obtido via endpoint /auth/token trocando um authorization code do Auth0, ou via /auth/dev/token em ambiente de desenvolvimento.

Fluxo OAuth2 (Producao)

1

Obter authorization code

Redirecione o usuario para o Auth0 com PKCE. Apos login, voce recebe um code.
2

Trocar code por token

Envie o code para POST /auth/token com grant_type: authorization_code.
3

Usar o token

Inclua o accessToken retornado no header Authorization: Bearer {token}.
4

Renovar token

Use o refreshToken com grant_type: refresh_token para obter um novo token.

Token de Desenvolvimento

Em ambientes development e test, voce pode emitir tokens locais sem Auth0:
curl -X POST http://localhost:3000/auth/dev/token \
  -H "Content-Type: application/json" \
  -d '{"auth0Sub": "auth0|admin-user"}'
O endpoint /auth/dev/token so funciona quando JWT_SECRET esta configurado e o ambiente nao e production.

2. API Key (x-tenant-key)

Endpoints publicos e webhooks usam uma API key no header x-tenant-key:
curl -X POST https://{sua_api_base_url}/public/leads \
  -H "x-tenant-key: {sua_api_key}" \
  -H "Content-Type: application/json" \
  -d '{"name": "Joao", "whatsapp": "5511999999999", "source": "website"}'
A API key e gerada automaticamente ao criar um tenant e pode ser consultada pelo admin via GET /tenants/:id.

Roles (Papeis)

RoleDescricao
ADMINAcesso total: gerencia tenants, usuarios, instancias WhatsApp
OPERATORAcesso operacional: gerencia leads, mensagens, templates, dashboards
O role e retornado no campo user.role da resposta de autenticacao.