WordPress WooCommerce ASP.net:由' ms-signature'提供的WebHook签名。标题字段与接收方预期的值不匹配

时间:2017-02-21 00:08:19

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

我创建了一个概念验证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秘密。

   public void AddData()
    {
        using (IDbConnection dbconnection = new SQLiteConnection(conn))
        {
            dbconnection.Open();

            using (IDbCommand dbCmd = dbconnection.CreateCommand())
            {
                string sqlQuery = "INSERT INTO tbl_sample (Name,Age) VALUES('" + textBox1.Text + "','" + textBox2.Text + "')"; ;
                dbCmd.CommandText = sqlQuery;

                using (IDataReader reader = dbCmd.ExecuteReader())
                {

                        SQLiteDataAdapter dataadapter = new SQLiteDataAdapter("SELECT * FROM tbl_Sample", conn);
                        DataSet ds = new System.Data.DataSet();

                        dataadapter.Fill(ds, "Info");
                        dataGridView1.DataSource = ds.Tables[0];

                    dbconnection.Close();
                }
            }
        }
    }

Woocommerce log

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

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

1 个答案:

答案 0 :(得分:2)

Custom接收器适用于ASP.NET WebHooks生成的WebHook,因此不起作用。您可以尝试使用WordPress接收器或Generic Json WebHook接收器。

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

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

希望这有帮助,

亨里克