Como Integrar
š Como Integrarā
O GuardianKey Auth Security pode ser facilmente integrado a qualquer sistema de autenticação, geralmente adicionando apenas algumas linhas de código na etapa de processamento do login. Para cada tentativa de acesso, a integração fornece uma pontuação de risco e uma ação recomendada (como ACCEPT, NOTIFY, BLOCK), permitindo decisƵes dinĆ¢micas baseadas em polĆticas de seguranƧa configurĆ”veis.
š Fluxo Geral de Integraçãoā
O processo de integração consiste em três etapas principais:
-
Capturar a Tentativa de Login
O sistema coleta dados como nome de usuÔrio, IP, resultado da autenticação e User-Agent. -
Enviar o Evento para o GuardianKey
Esses dados são enviados via chamada REST para a API do GuardianKey. -
Agir de Acordo com a Resposta
O sistema interpreta a resposta (ACCEPT, NOTIFY, BLOCK) e age conforme indicado.
š„ Exemplo de Fluxo no Backendā
Para verificar o risco de um evento de autenticação usando a GuardianKey API v2, seu backend deve:
- Criar um objeto JSON com os dados do evento (ex.: nome de usuƔrio, IP, user agent).
- Codificar esse objeto como uma string JSON.
- Calcular um hash SHA-256 da seguinte concatenação:
hash("sha256", message_json_string + key + iv)
- Enviar uma requisição
POST
para o endpoint da GuardianKey:
https://api.guardiankey.io/v2/checkaccess
Estrutura do Corpo da Requisiçãoā
O corpo da requisição deve ser um objeto JSON com a seguinte estrutura:
{
"authgroupid": "SEU_AUTHGROUPID",
"message": "{\"generatedTime\":1754428303,\"agentId\":\"AGENT_ID\",\"organizationId\":\"ORG_ID\",\"authGroupId\":\"AUTHGROUPID\",\"service\":\"SERVICE_NAME\",\"clientIP\":\"189.30.220.10\",\"clientReverse\":\"host.example.com\",\"userName\":\"maria\",\"authMethod\":\"\",\"loginFailed\":0,\"userAgent\":\"Mozilla/5.0...\",\"psychometricTyped\":\"\",\"psychometricImage\":\"\",\"event_type\":\"Authentication\",\"userEmail\":\"[email protected]\"}",
"hash": "d9c34b6ecbd1a0f2a33b0a0de2a60ff63e8e2d5b8e7153ef32d5de7f57c55f5d"
}
ā ļø Importante:
O campomessage
deve conter uma string JSON codificada, não um objeto aninhado.
Ohash
Ć© um SHA-256 de:message + key + iv
ā Exemplo de Resposta da APIā
{
"client_os": "Linux",
"risk_psychometric": "100.0",
"generatedTime": 1754428303,
"risk": 5.047,
"country": "Brazil",
"eventId": "3e1c389c1ae49efc...",
"response": "ACCEPT",
"risk_context": 5.0,
"risk_intel": 0.05,
"client_ua": "Chrome",
"response_cache": 0,
"message": "Origin not found in the threat DB.",
"event_token": "06ef74884bfe78d927dbfcb2..."
}
š O campo response
pode conter:
- "ACCEPT" ā acesso normal
- "NOTIFY" ā comportamento suspeito, considere verificação adicional (ex.: 2FA)
- "BLOCK" ā negar acesso
A aplicação pode negar o acesso mesmo que a senha esteja correta.
š” Exemplo PrĆ”tico em PHPā
Abaixo estÔ um exemplo simplificado de como integrar a chamada ao GuardianKey após o envio do login/senha:
require_once("guardiankey.class.php");
$GK = new guardiankey($GKconfig);
$username = $_POST['user'];
$password = $_POST['password'];
// Autentique o usuƔrio normalmente em seu sistema
$login_failed = ($username != $password) ? 1 : 0;
$response = $GK->checkaccess($username, $username, $login_failed);
$result = json_decode($response);
if ($result->response === 'BLOCK') {
echo "Acesso negado. Por favor, tente novamente mais tarde.";
} else {
echo "Login autorizado!";
}
ā O SDK PHP e outros encapsulam a criação do evento e o envio seguro.
š¦ SDKs DisponĆveisā
O GuardianKey fornece SDKs e exemplos para:
- PHP
- Python
- Node.js
- Java
- .NET
- Ruby
- Lua
- Classic ASP
Solicite o SDK para sua linguagem ou confira as integraƧƵes disponĆveis.
š SeguranƧa e Criptografiaā
Os eventos podem ser enviados com criptografia simƩtrica (AES-256).
O GuardianKey não coleta senhas nem interfere no fluxo de autenticação.
š NotificaƧƵes (para casos NOTIFY ou HARD NOTIFY)ā
O GuardianKey pode notificar o usuƔrio e/ou administrador sobre tentativas de acesso suspeitas via e-mail.
A mensagem contƩm um link para o usuƔrio confirmar se realizou o acesso.
Esse feedback do usuƔrio Ʃ utilizado para treinar o modelo e reduzir falsos positivos.
ā Boas PrĆ”ticasā
- Sempre valide a resposta do GuardianKey antes de conceder acesso.
- Em caso de BLOCK, retorne uma mensagem genƩrica ("usuƔrio ou senha invƔlidos") para evitar vazamento de informaƧƵes.
- Use o endpoint de risco em tempo real e, se desejar, implemente tambƩm notificaƧƵes offline via webhook.