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