繁体   English   中英

在DelegatingHandler ASP.NET Web API中添加BearerToken授权标头

[英]Addition of BearerToken Authorization Header in DelegatingHandler ASP.NET Web API

为什么如果我在自定义DelegatingHandler中将具有正确令牌的授权标头添加到不带此标头的请求中,却得到响应:需要401授权?

public class ProxyHandler : DelegatingHandler
{
   protected async override Task<HttpResponseMessage> SendAsync(
        HttpRequestMessage request, CancellationToken cancellationToken)
   {
        request.Headers.Add("Authorization", "Bearer rightToken...");
        return response = await base.SendAsync(request, cancellationToken);
    }
}

如果我使用相同的授权标头从邮递员发送请求,我将获得200的确认。 在此处输入图片说明

我找到了答案。 OAuthBearerAuthenticationHandler.cs类中的AuthenticateCoreAsync方法在我的ProxyHandler之前被触发。 在将OAuthBearerAuthenticationOptions中的AuthenticationMode 从Active更改为Passive之后,将触发我的ProxyHandler中的方法base.SendAsync(request,cancellingToken)之后,检查标头中的请求令牌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM