Saltar para o conteúdo principal
A autenticação é uma novidade. A proteção está desativada até a ativar. Os limites de pedidos e os limites de tentativas de código aplicam-se sempre.
A proteção contra bots é executada em cada criação de conta, início de sessão e redefinição de palavra-passe. Verifica a tentativa com base em seis políticas. Cada política tem um modo:

Configurar a proteção

Consulte e altere as definições com GET e PATCH em protection/, na API de gestão de autenticação da sua aplicação, ou na consola.
enabled e breached_password_check são false por predefinição. Os modos acima são as predefinições depois de ativar a proteção.

Políticas

As políticas vpn e travel usam a análise de IP da Didit. Se essa consulta não estiver disponível, a tentativa continua; um início de sessão nunca falha por causa dela. A localização para travel só é atualizada após um início de sessão concluído.

Força bruta e bloqueio

O modo brute decide o que acontece após 5 falhas:
  • Bloquear: a pessoa tem de redefinir a palavra-passe antes de voltar a iniciar sessão.
  • Desafiar: a conta fica bloqueada durante 15 minutos, e a tentativa seguinte exige uma prova adicional.
  • Desativado ou Registar: sem bloqueio.
A redefinição de palavra-passe continua disponível após um bloqueio por força bruta, e uma redefinição remove o bloqueio. A sua equipa também pode desbloquear uma conta a partir da consola. Se nunca guardou definições de proteção, aplica-se uma regra mais simples: 5 tentativas de palavra-passe falhadas bloqueiam a conta durante 15 minutos.

Pontuação de bot e sinais do dispositivo

Envie sinais do dispositivo nas chamadas em tempo de execução com estes cabeçalhos. As páginas alojadas enviam-nos por si. Estes sinais servem de contexto para uma decisão, mas não constituem prova de identidade. Também seguem com cada evento de início de sessão, onde as regras podem ler event.device.bot_score.
AUTOMATION_FRAMEWORK_DETECTED é uma verificação diferente. É um aviso de análise de IP e dispositivo nas sessões de verificação, gerado quando o SDK de verificação indica uma estrutura de automação do navegador. Não é executado no início de sessão. No início de sessão, a automação é detetada pela política bots acima.

Desafios

Uma tentativa desafiada devolve isto em vez de um código de início de sessão:
Conclua-o com POST protection/complete/:
  • {"challenge", "method": "email_code", "code"} com o código de 6 dígitos enviado para o e-mail da pessoa, ou
  • {"challenge", "method": "passkey", "response"} com a resposta WebAuthn.
Tem 5 tentativas no espaço de 5 minutos. Se a pessoa não tiver nenhuma prova disponível, a chamada devolve 403 {"error": "protection_factor_unavailable"}.

Palavras-passe comprometidas

Com breached_password_check: true, a Didit verifica as palavras-passe novas e redefinidas em relação a palavras-passe comprometidas conhecidas. A própria palavra-passe nunca é enviada para qualquer lugar. Uma palavra-passe comprometida é rejeitada com password_breached. No início de sessão, uma palavra-passe comprometida conta como correspondência stuffing. Se a verificação não estiver disponível, a palavra-passe é aceite.

Modo de ataque

Ative o modo de ataque durante um ataque ativo:
  • POST protection/attack-mode/ com {"duration_hours": 1} (ou 6 ou 24) devolve 201.
  • DELETE protection/attack-mode/ termina-o mais cedo. Também termina por si após a duração.
Enquanto o modo de ataque estiver ativo:
  • todas as criações de conta e todos os inícios de sessão têm de passar por um desafio de chave de acesso. Um código por e-mail não é aceite. As novas criações de conta e as pessoas sem chave de acesso não conseguem concluir até o modo de ataque terminar.
  • uma criação de conta a partir de uma VPN, Tor ou rede de centro de dados é bloqueada.

Limites de pedidos

Cada rota de execução tem limite por IP, por aplicação: Acima do limite, a chamada devolve 429. Respeite um cabeçalho Retry-After quando for enviado. As tentativas de início de sessão também têm limite por minuto: 60 por IP, 15 por conta, 30 por dispositivo, 3000 por aplicação e 20 pedidos de código SMS ou WhatsApp por prefixo de número de telefone. As renovações de token têm um limite próprio por aplicação, de 6000 por minuto, para que as renovações nunca consumam os seus inícios de sessão.

Eventos

Cada decisão fica registada como um evento de autenticação: risk_logged, attempt_challenged, attempt_blocked, challenge_passed, challenge_failed, attack_mode_started e attack_mode_ended. O evento indica a política que gerou a correspondência.

Teste

Numa aplicação de sandbox, teste cada modo que ativar: uma tentativa bloqueada, um desafio concluído e um desafio falhado, um bloqueio e o seu desbloqueio, e o modo de ataque ligado e desligado. Mantenha os erros genéricos na sua interface para que não revelem se uma conta existe.
Última modificação em 7 de novembro de 2026