授权标头在begin_request和DelegatingHandler.SendAsync之间的某个地方被剥离 . 我试图调试为什么会这样 .
我的WebApi中有一个委托处理程序,用于验证Json WebToken . 不幸的是,当SendAsync(HttpRequestMessage请求,CancellationToken cancellationToken)触发请求的Authorization属性为null时 .
但是,在应用程序开始请求中,似乎从客户端收到授权 Headers .
{Connection=keep-alive&Authorization=Bearer+ey[Deleted Most]9g&Host=192.168.1.4}
我需要在SendAsync中获取Authorization值,以便我可以验证它 .
为什么要删除它?
或者说,在DelegatingHandler可能正在改变 Headers 并删除它之前发生了什么actions \ events?
在Windows 10版本10586.494上运行的IIS版本10.0.10586.0上的Microsoft.AspNet.WebApi版本5.2.3
1 回答
不是一个完整的答案,但http://jameschambers.com/2013/11/working-with-iauthenticationfilter-in-the-mvc-5-framework/
回答了调用第三方的委托处理程序之前发生的一部分内容 . 通过创建ActionFilterAttribute,IAuthenticationFilter,可以以任何需要的自定义方式拦截和处理身份验证 .