首页 > 解决方案 > 如何在 C# Web API Rest Webservice 中禁用 HMAC 身份验证

问题描述

我正在开发一个应该用于 webhook 调用的 C# Web API REST webservice。

我的问题是,当我尝试连接到我的 web 服务并调用我的控制器时,我总是收到一条有关 ms-signature 参数的错误消息。调用我的控制器的唯一方法是在客户端使用 HMAC 身份验证(即,对密钥进行 SHA 计算以及要发送到 Web 服务的 JSON 数据)。似乎默认情况下设置了 HMAC 身份验证,即使我不想要它。

我添加了一个用于登录和密码检查的 BasicAuthenticationFilter 类,它可以工作,但是在调用我的控制器之前,我仍然有关于 ms-signature 参数的错误消息。

我应该怎么做才能在我的 REST Web 服务中禁用 HMAC 身份验证?通过登录名和密码进行基本身份验证对我来说已经足够安全了。

标签: restauthenticationasp.net-web-apihmac

解决方案


显然,答案是如果我不想要 SHA 身份验证,我需要使用 Nu-Get 来安装 AspNet.Webhooks.Receiver.Generic 包而不是 AspNet.WebHooks.Receiver.Custom 包。必须对代码进行一些更改,但我终于得到了 SHA 身份验证,这似乎是在自定义 WebHooks 接收器中默认设置的。


推荐阅读