Webhooks
Verificando a integridade com HMAC
É muito importante que você escute apenas webhooks enviados apenas pela Hydrus, portanto, oferecemos uma alternativa de verificar se o webhook é autêntico ou se foi enviado por terceiros.
Todo webhook com secret, será assinado através do header x-hydrus-signature e pode ser verificado da seguinte forma:
PHP
$body = file_get_contents("php://input");
$ok = hash_hmac('sha256', $body, 'your-secret') === $_SERVER['HTTP_X_HYDRUS_SIGNATURE'];
if (!$ok) {
http_response_code(403);
return;
}
// TODONode.JS
Bibliotecas como o Express não possuem ferramentas builtin para prover os dados brutos enviados para seu servidor http, portanto, é necessário uma adaptação no bodyParser.
app.use(bodyParser.json({
verify(req, res, buf) {
req.rawBody = buf
}
}))Last updated