【发布时间】:2018-08-07 03:37:49
【问题描述】:
我正在为外部工具开发一个 webhook 接收器。
我正在使用 ASP.NET WebHooks 框架(更多:https://docs.microsoft.com/en-us/aspnet/webhooks/)
一切都很好,除了一件事:我无法返回 HttpStatusCode.Unauthorized。
这是 WebHookReceiver 中的代码结构:
public override async Task<HttpResponseMessage> ReceiveAsync(string id, HttpRequestContext context, HttpRequestMessage request)
{
try
{
var authheader = request.Headers.Authorization;
if (authheader == null || string.IsNullOrEmpty(authheader.Parameter))
{
return new HttpResponseMessage(HttpStatusCode.Unauthorized);
}
我期待一个带有代码 HttpStatusCode.Unauthorized 的简单 HTTP 响应(旁注,任何其他 Http 代码都按预期工作)。相反,它返回整个 HTML Microsoft 登录页面。我什至不知道它是从哪里弄来的。
我现在的解决方案只是返回“BadRequest”和消息“授权失败”
【问题讨论】:
标签: c# asp.net asp.net-mvc webhooks