Validando as Requisições do Hub
Garanta que a comunicação é segura entre o seu serviço e o Hub.
Toda requisição enviada pelo Hub possui uma assinatura no header X-Hub-Signature
. Essa assinatura é um hash HMAC-SHA256
, que é feito com o corpo da mensagem (O Json necessariamente como mostrado no Body) usando a SecretKey do app como chave privada. Você pode verificar a sua em Chaves de Acesso.
Exemplo:
Sua aplicação recebe uma requisição do Hub com um conteúdo qualquer e uma assinatura no Header.
Headers
X-Hub-Signature : dc229bd348e9a9280302e6dff23cb0cfb1271124264958c342c1a95c1d0f485d
{
"field1": "value1",
"field2": "value2"
}
Para validar essa requisição, faça um HMAC-SHA256 do corpo da requisição (exatamente da forma que foi recebido) utilizando a SecretKey do seu app, como chave privada.
Para este exemplo a chave é e172302a-a9b8-4a34-a36d-e1d6ec10f59d
.
Se o HMAC computado for o mesmo recebido no header, você pode confiar na requisição e ter a certeza que o remetente da requisição é o Hub.
Você pode testar usando o ferramenta online e gratuita https://www.freeformatter.com/hmac-generator.html
Não se esqueça!
- A mensagem é o corpo da mensagem exatamente como ela chegou na sua aplicação;
- A chave privada é a SecretKey do seu app;
- Use o algoritmo SHA256 para computar o hash.
Updated almost 6 years ago