2

我正在使用ShopifySharp尝试将 Shopify 订单 webhook 用作 Shopify 私人应用程序。

我无法让它通过验证。我的猜测是使用了错误的密钥。

根据 ShopifySharp 的代码(第 236 行):

<param name="shopifySecretKey">Your app's secret key.</param>

根据他们的 Shopify Developer's Handbook,它声明使用您的应用程序的秘密:

var isValidRequest = await AuthorizationService.IsAuthenticWebhook(
Request.Headers.ToKvps(),
Request.InputStream,
ApplicationEngine.ShopifySecretKey);

我的代码:

var isValidRequest = await AuthorizationService.IsAuthenticWebhook(
                Request.Headers.ToKvps(),
                Request.InputStream,
                shopifyPrivateAppSecretKey);
4

1 回答 1

2

终于想通了。事后看来,这是相当明显的:)

对于私有 Shopify 应用程序,您不要使用您的应用程序的秘密,因为在私有应用程序的上下文中没有提及它。在这种情况下,您在实际 Store 的 Private App 设置中使用 Shared Secret Key: 在此处输入图像描述

对于公共应用程序(我们也在开发过程中,所以事情变得很混乱),您可以在合作伙伴应用程序设置中使用应用程序的 API 密钥: 在此处输入图像描述

希望对其他人有所帮助......或者也许我是唯一一个感到困惑的人:)

于 2021-01-28T22:58:02.450 回答