我是使用Web API进行Web开发的新手,我遇到了一些使用自定义消息处理程序处理身份验证的问题 - 特别是使用HttpClient从C#WPF应用程序调用Web API方法。
我使用自定义DelegatingHandler实现了身份验证,如在给定here的TokenInspector类示例中(减去HTTPS内容)。从我理解的帖子中,这会将请求管道中的身份验证移到比this热门帖子中的动作过滤器更高的位置。
我可以使用类似下面的ajax调用成功调用我的安全方法(其中_key是安全令牌):
$.ajax({
url: _api + '/Item',
beforeSend: function(request) {
request.setRequestHeader("X-Token", _key);
},
type: 'GET',
dataType: 'json',
success: fnSuccessResult,
error: function (xhr, status, error) {
alert(xhr.status + ' ' + status + ' ' + error);
}
});
我正在使用C#为我的Web API编写测试工具 - 如何使用HttpClient在C#中处理这种类型的身份验证?
答案 0 :(得分:0)
试试这个:
var client = new HttpClient();
var request = new HttpRequestMessage();
request.Headers.Add("X-Token", "token");
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
request.Method = HttpMethod.Get;
client.SendAsync(request);