首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET WebHookReceiver "return HttpStatusCode.Unauthorized“返回超文本标记语言

ASP.NET WebHookReceiver "return HttpStatusCode.Unauthorized“返回超文本标记语言
EN

Stack Overflow用户
提问于 2018-08-07 02:49:01
回答 1查看 176关注 0票数 0

我正在为一个外部工具开发一个webhook接收器。

我正在使用ASP.NET WebHooks框架(更多信息:https://docs.microsoft.com/en-us/aspnet/webhooks/ )

一切都很好,除了一件事:我不能返回HttpStatusCode.Unauthorized。

这是WebHookReceiver中的代码结构:

代码语言:javascript
复制
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);
                }

我期待的是一个简单的HTTP响应,代码为HttpStatusCode.Unauthorized (附注,任何其他Http代码都可以正常工作)。相反,它返回整个HTML Microsoft登录页面。我甚至不知道它是从哪里来的。

我现在的解决方案就是返回“BadRequest”和消息“Authorization failed”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-07 03:37:50

好的,明白了。

这是非常正常的。

https://www.restapitutorial.com/httpstatuscodes.html

请求需要用户身份验证。响应必须包括WWW-Authenticate报头字段(第14.47节),其中包含适用于所请求资源的质询。

在我的例子中,我应该使用403禁止

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51713910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档