Skip to content

Autenticacao e Seguranca

7.1 Login

O acesso a plataforma requer tres informacoes:

  • Tenant (Empresa): identificador unico da empresa
  • E-mail: endereco de e-mail cadastrado
  • Senha: senha definida no cadastro ou alterada posteriormente

O endpoint de login e:

POST /api/auth/login
json
{
  "email": "usuario@empresa.com.br",
  "password": "suaSenha",
  "tenant": "nome-da-empresa"
}

7.2 Autenticacao em Dois Fatores (MFA)

Para maior seguranca, o Voki suporta autenticacao em dois fatores via TOTP (Time-based One-Time Password):

  1. Ative o MFA nas configuracoes da sua conta
  2. Escaneie o QR Code com um aplicativo autenticador (Google Authenticator, Authy, etc.)
  3. A cada login, alem de e-mail e senha, sera solicitado o codigo de 6 digitos do autenticador

O endpoint de verificacao MFA e:

POST /api/auth/mfa/verify

7.3 Reset de Senha

Caso esqueca sua senha:

  1. Na tela de login, clique em "Esqueci minha senha"
  2. Informe seu e-mail e tenant
  3. Voce recebera um e-mail com um link para redefinir a senha
  4. O link e valido por tempo limitado (expira apos uso)

Endpoints envolvidos:

POST /api/auth/forgot-password
POST /api/auth/reset-password

7.4 Tokens JWT

O Voki utiliza JSON Web Tokens (JWT) para autenticacao:

TokenValidadeUso
Access Token15 minutosAcesso a API e paginas autenticadas
Refresh Token7 diasRenovacao do access token sem novo login

O access token deve ser enviado no header de cada requisicao:

Authorization: Bearer {access_token}

Quando o access token expira, utilize o refresh token para obter um novo:

POST /api/auth/refresh

7.5 Isolamento por Tenant

Cada empresa (tenant) possui seu proprio schema no banco de dados PostgreSQL, garantindo isolamento completo dos dados:

  • Dados de uma empresa nunca sao acessiveis por outra
  • Cada tenant tem suas proprias tabelas, indices e registros
  • O tenant e determinado pelo JWT e validado a cada requisicao
  • Nao e possivel acessar dados de outro tenant mesmo com token valido

7.6 Cabecalhos de Seguranca

Todas as respostas da plataforma incluem cabecalhos de seguranca:

  • HSTS: Forca conexao HTTPS
  • X-Frame-Options: DENY: Impede embedding em iframes (protecao contra clickjacking)
  • X-Content-Type-Options: nosniff: Previne MIME-type sniffing
  • Referrer-Policy: strict-origin-when-cross-origin: Controla informacoes de referencia
  • Permissions-Policy: Restringe acesso a APIs do navegador

7.7 Rate Limiting

Para proteger contra ataques de forca bruta e abuso:

EndpointLimite
Autenticacao (/api/auth/*)5 requisicoes por minuto
API publica (/api/signup/*, /api/v1/call/*)30 requisicoes por minuto

Ao exceder o limite, a resposta sera 429 Too Many Requests.


Manual de Uso — Voki v4.0