A Autenticação Hawk é um protocolo de autenticação baseado em requisições HTTP, projetado para fornecer um mecanismo de autenticação simples, flexível e seguro. Ela usa HMAC (Hash-based Message Authentication Code) para criar assinaturas criptográficas que verificam tanto a autenticidade quanto a integridade das requisições.Hawk é particularmente útil para APIs que exigem segurança robusta sem a complexidade do OAuth, oferecendo uma alternativa leve para comunicação serviço a serviço.Configurações básicas#
Configure os parâmetros essenciais de autenticação Hawk:| Parâmetro | Descrição | Obrigatório |
|---|
| Hawk Auth ID | Identificador de autenticação para a requisição atual | Sim |
| Hawk Auth Key | Chave de autenticação para a requisição atual | Sim |
| Algorithm | Algoritmo HMAC para autenticação de mensagens | Sim (SHA-256, SHA-1 etc.) |
O algoritmo deve corresponder ao que o provedor da sua API espera. SHA-256 é recomendado para implementações modernas, enquanto SHA-1 é compatível com sistemas legados.
Configurações avançadas#
Clique na opção More para configurar parâmetros adicionais do Hawk. Se deixados em branco, eles serão gerados automaticamente.| Parâmetro | Descrição | Finalidade |
|---|
| User | Identificador do usuário | Identifica o usuário que está fazendo a requisição |
| Nonce | String aleatória gerada pelo cliente | Evita ataques de repetição garantindo a unicidade da requisição |
| ext | Informações específicas da aplicação | Dados personalizados enviados com a requisição da API |
| app | Identificador da aplicação | Evita a personificação de credenciais vinculando credenciais a apps específicos |
| dlg | ID da aplicação de delegação | Identifica a aplicação que emitiu as credenciais |
| Timestamp | Timestamp Unix | Evita requisições fora da janela de tempo (proteção antirrepetição) |
| Include payload hash | Opção de caixa de seleção | Quando habilitada, inclui um hash do payload da requisição na assinatura |
Recursos de segurança#
Prevenção de ataques de repetição:Timestamp: Garante que as requisições sejam válidas apenas dentro de uma janela de tempo específica
Nonce: Garante que cada requisição seja única e não possa ser repetida
Vinculação de credenciais:app: Impede que invasores usem credenciais emitidas para outras aplicações
dlg: Rastreia qual aplicação delegou as credenciais
O Apidog gera automaticamente valores de Timestamp e Nonce se eles forem deixados em branco, garantindo a segurança adequada sem configuração manual.
Habilite "Include payload hash" quando sua API exigir verificação da integridade do corpo da requisição. Isso adiciona o payload ao cálculo da assinatura, impedindo a adulteração do corpo da requisição.