Autenticação
A API do CRM utiliza autenticação baseada em tokens JWT (JSON Web Tokens). Todos os endpoints protegidos requerem um token válido no header da requisição.
Como Funciona
- 1Faça uma requisição POST para
/auth/logincom email e senha - 2A API retorna um token JWT válido por 7 dias
- 3Inclua o token no header
Authorizationde todas as requisições protegidas
Exemplo de Login
// Login
const response = await fetch('http://localhost:3001/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'seu@email.com',
password: 'sua-senha'
})
});
const { token, user } = await response.json();
// Usar o token em requisições protegidas
const meResponse = await fetch('http://localhost:3001/api/me', {
headers: {
'Authorization': `Bearer ${token}`
}
});Formato do Token
O token JWT contém as seguintes informações no payload:
{
"sub": "user-uuid", // ID do usuário
"email": "user@email.com", // Email do usuário
"org_id": "org-uuid", // ID da organização atual
"role": "owner", // Role na organização
"iat": 1704067200, // Data de emissão
"exp": 1704672000 // Data de expiração
}Erros de Autenticação
401
Unauthorized
Token ausente, inválido ou expirado
403
Forbidden
Usuário não tem permissão para acessar o recurso
Dicas
- • Armazene o token de forma segura (localStorage ou httpOnly cookie)
- • Implemente refresh de token antes da expiração
- • Nunca exponha o token em URLs ou logs
- • Use HTTPS em produção para proteger o token em trânsito