如何在asp.net中验证shopify webhook请求

时间:2017-05-06 13:49:42

标签: asp.net shopify

有人可以解释我如何计算HMAC

===============

要验证请求来自Shopify,请根据以下算法计算HMAC摘要,并将其与X-Shopify-Hmac-SHA256标头中的值进行比较。如果它们匹配,您可以确定Webhook是从Shopify发送的,并且数据没有受到损害。

每个Webhook请求都包含一个X-Shopify-Hmac-SHA256标头,该标头是使用应用程序的共享密钥生成的,以及请求中发送的数据。

我有密钥...如何将秘密密钥+请求中的数据组合起来生成HMAC

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用ShopifySharp Library。您可以使用Nuget包并将其安装在项目中。

这是从ShopifySharp网站获取的用于验证webhooks的示例:

NameValueCollection requestHeaders = Request.Headers;
Stream inputStream = Request.InputStream;

if(AuthorizationService.IsAuthenticWebhook(requestHeaders, inputStream, shopifySecretKey))
{
    //Webhook is authentic.
}
else
{
    //Webhook is not authentic and should not be acted on.
}

如果您不想使用ShopifySharp,您可以在source code中查看它们是如何实现的。