【问题标题】:WordPress WooCommerce ASP.net: The WebHook signature provided by the 'ms-signature' header field does not match the value expected by the receiverWordPress WooCommerce ASP.net:“ms-signature”标头字段提供的 WebHook 签名与接收者期望的值不匹配
【发布时间】:2017-02-21 00:08:19
【问题描述】:

我创建了一个概念证明 asp.net C# 应用程序来接收 WooCommerce Webhook 请求。不幸的是,默认情况下,WooCommerce WebHooks 似乎不能很好地与 ASP.NET Webhook 接收器集成。在发现我应该使用自定义 Webhook 而不是 Wordpress Webhook 接收器后,我现在遇到了签名问题。

当然,我希望 WooCommerce 插件完全保持原样,但是我现在将秘密直接添加到新的标题属性“ms-signature”中。我无法让自定义 Webhook 接收器接受它。

我收到错误:

“ms-signature”标头字段提供的 WebHook 签名确实 与“CustomWebHookReceiver”接收器预期的值不匹配。 WebHook 请求无效。

我在 web.config 中获得了以下秘密,我也将其用作 WooCommerce 秘密。

> <appSettings>
>     <add key="MS_WebHookReceiverSecret_Custom" value="7077693b67c9441a3dbbdbe7ac5b655ffdb323a40fd4ff7535d54c8f10e10582"/>
> </appSettings>

我尝试了很多方法,但我认为应该从 WooCommerce 中使用签名的方式需要更改,以便自定义接收者接受它。

有人可以解释一下 ASP.NET webhook 的期望以及如何最好地更改我的解决方案吗?

【问题讨论】:

    标签: c# asp.net woocommerce asp.net-webhooks


    【解决方案1】:

    自定义接收器适用于由 ASP.NET WebHooks 生成的 WebHooks,因此无法正常工作。你可以试试 WordPress Receiver 还是 Generic Json WebHook Receiver。

    您可以在两个 Nugets 中找到它们:

    http://www.nuget.org/packages/Microsoft.AspNet.WebHooks.Receivers.WordPress/ http://www.nuget.org/packages/Microsoft.AspNet.WebHooks.Receivers.Generic/

    希望这会有所帮助,

    亨里克

    【讨论】:

    • 你是天赐之物。我使用了通用接收器,它可以正常工作。谢谢
    • 你好,这里有点绝望。我正在尝试为 WooCommerce 实现相同的场景,但我没有做太多事情。我收到以下错误;在重新注册钩子时,我收到“错误:传递 URL 返回响应代码:415”如果我去触发钩子,我会在 wordpress 日志中看到它通过。但在 .net 方面在日志中说:w3wp.exe 信息:0:使用接收器“genericjson”和 id 为“crcpn”处理传入的 WebHook 请求。 w3wp.exe 信息:0:WebHook 请求必须包含格式为 JSON 的实体主体。不知道我错在哪里。请帮忙!
    猜你喜欢
    • 1970-01-01
    • 2021-12-24
    • 2020-02-21
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 2022-12-12
    相关资源
    最近更新 更多