Autenticação

Mock de Autenticação JWT para Testes

Simule login, refresh token e rotas protegidas com JWT. Teste seu frontend de autenticação sem precisar de um backend real.

Por que mockar autenticação JWT?

Implementar autenticação real (banco de dados, bcrypt, sessões, refresh tokens) leva dias. Quando o objetivo é testar o fluxo de UI — tela de login, redirecionamentos, persistência de sessão, expiração de token — um mock de JWT permite avançar sem esperar o backend.

O httpdrop permite criar endpoints mock de login que retornam JWTs válidos, simulando exatamente o que um backend real retornaria.

Criando o endpoint de login

Configure uma Mock Rule para POST /auth/login que retorna um JWT:

// Mock Rule: POST /auth/login → 200
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFuYSBTaWx2YSIsImVtYWlsIjoiYW5hQGV4YW1wbGUuY29tIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNzE2NTc2MDAwLCJleHAiOjE3MTY2NjI0MDB9.xyz",
  "refresh_token": "dGhpcy1pcy1hLW1vY2stcmVmcmVzaC10b2tlbg",
  "token_type": "Bearer",
  "expires_in": 86400
}
# Testando o mock de login
curl -X POST https://httpdrop.com/mock/SEU_ENDPOINT_ID/auth/login   -H "Content-Type: application/json"   -d '{"email":"ana@example.com","password":"qualquer"}' | jq .

# Resultado:
{
  "access_token": "eyJhb...",
  "token_type": "Bearer",
  "expires_in": 86400
}

Simulando credenciais inválidas

Use o recurso de Chaos ou uma Rule separada para simular erro de autenticação:

// Mock Rule: POST /auth/login → 401 (credenciais inválidas)
{
  "error": "invalid_credentials",
  "message": "E-mail ou senha incorretos",
  "code": "AUTH_FAILED"
}

Gerando um JWT de teste válido

Use a ferramenta Gerador de JWT para criar tokens com payload personalizado:

// Payload para usuário admin
{
  "sub": "user_123",
  "name": "Ana Silva",
  "email": "ana@example.com",
  "role": "admin",
  "permissions": ["users:read", "users:write", "billing:read"],
  "iat": 1716576000,
  "exp": 1716662400
}
🔒
Segurança: JWTs de mock nunca devem ser usados em produção. Em testes, use algoritmo HS256 com uma chave de teste como "test-secret-key" — nunca exponha chaves de produção em ferramentas de browser ou repositórios.

Testando rotas protegidas

Configure Mock Rules que verificam o header Authorization:

# Rota que retorna perfil do usuário autenticado
curl https://httpdrop.com/mock/SEU_ENDPOINT_ID/api/me   -H "Authorization: Bearer SEU_JWT_TOKEN"

# Mock Rule: GET /api/me → 200
{
  "id": "user_123",
  "name": "Ana Silva",
  "email": "ana@example.com",
  "role": "admin"
}
🚀
Próximo passo: Combine com o motor de templates para extrair campos do JWT recebido e incluí-los dinamicamente na resposta mock — como retornar o sub do token no campo userId.
Pronto para implementar? Consulte a documentação técnica completa com referência de API, exemplos de código e parâmetros detalhados.
Ver documentação →