Watch-IP

Utilize alterações de localização para informar a revisão de início de sessão

Compare a localização derivada do IP de um início de sessão com o ponto anteriormente armazenado para esse utilizador, para sinalizar inícios de sessão que merecem uma segunda análise — a disponibilidade e a aplicação de planos para este endpoint ainda não estão confirmadas, por isso discuta o acesso antes de integrar em produção.

Disponibilidade

POST /v1/risk/check partilha o mesmo middleware de chave secreta que a pesquisa de IP, que verifica apenas se uma chave é uma chave secreta — não aplica de forma independente uma família de planos de risco separada, e o preço de risco pré-configurado não tem um preço ativo definido. Confirme connosco a disponibilidade e os termos atuais antes de depender deste endpoint em produção.

Extração fiável do IP do cliente

O Watch-IP não extrai o IP do utilizador final a partir do seu pedido para este endpoint — fornece-o como ip. Resolva-o a partir da sua própria cadeia fiável de cabeçalhos de proxy/CDN no seu back-end, com o mesmo cuidado que aplicaria em qualquer situação em que confie num IP de cliente para uma decisão de segurança.

ID de utilizador opaco

Passe o seu próprio identificador interno como userId. O Watch-IP mantém exatamente uma localização armazenada por par (a sua conta de cliente, userId) — reutilize o mesmo identificador ao longo dos inícios de sessão de um utilizador, para que a base de referência se mantenha significativa.

Primeira base de referência, depois uma pré-verificação

A primeira chamada de sempre de um utilizador devolve sempre risk: "low" com um previousLocation nulo — ainda não há nada com que comparar. Para inícios de sessão posteriores, chame com commit: false como um sinal precoce antes da sua própria decisão de autenticação; essa chamada lê a base de referência armazenada sem a alterar.

Confirme depois da sua própria verificação

Assim que estiver confiante de que o início de sessão é legítimo — palavra-passe e qualquer segundo fator já verificados — chame novamente com commit na sua predefinição (true), para que esta observação se torne a nova base de referência para o próximo início de sessão.

Concorrência e novas tentativas

A v1 armazena um único ponto mais recente, não um histórico — duas chamadas confirmadas próximas uma da outra sobrepõem o mesmo valor, e um pedido repetido após um tempo limite pode, ele próprio, confirmar e alterar a base de referência. Conceba a sua lógica de nova tentativa tendo isto em conta, em vez de assumir que cada confirmação é registada de forma independente.

Alterações legítimas de rede

Viagens de trabalho, wifi de hotel ou aeroporto, rotação de IP de operador móvel e utilização comum de VPN podem todas produzir uma classificação média ou alta — a v1 não tem supressão consciente de VPN/centro de dados. Trate um início de sessão sinalizado como uma entrada para o seu próprio processo de revisão, não como prova de comprometimento.

O que isto não garante

Uma classificação alta é um cálculo de velocidade em bruto entre dois pontos, não a confirmação de uma apropriação de conta, e uma classificação baixa não isenta um início de sessão suspeito por outros motivos. A retenção segue o comportamento de armazenamento acima: o ponto armazenado persiste até à próxima verificação confirmada o sobrepor, sem expiração automática e sem um endpoint de eliminação atualmente disponível — tenha isso em conta em quaisquer compromissos de retenção de dados que assuma perante os seus próprios utilizadores.

Páginas relacionadas