Não é possível autenticar para o serviço ASP.NET Web Api com o HttpClient
Eu tenho um serviço ASP.NET Web API que é executado em um servidor web com a autenticação do Windows habilitada.
Eu tenho um site de cliente construído em MVC4 que é executado em um site diferente no mesmo servidor web que usa o HttpClient para extrair dados do serviço. Esse site de cliente é executado com a representação de identidade ativada e também usa a autenticação do Windows.
O servidor da web é o Windows Server 2008 R2 com o IIS 7.5.
O desafio que estou tendo é fazer com que o HttpClient passe o usuário atual do Windows como parte de seu processo de autenticação. Eu configurei o HttpClient dessa maneira:
<code>var clientHandler = new HttpClientHandler(); clientHandler.UseDefaultCredentials = true; clientHandler.PreAuthenticate = true; clientHandler.ClientCertificateOptions = ClientCertificateOption.Automatic; var httpClient = new HttpClient(clientHandler); </code>
No meu entender, a execução do site com a representação de identidade habilitada e a criação do cliente dessa maneira deve resultar na autenticação do cliente para o serviço usando a identidade representada do usuário conectado no momento.
Isso não está acontecendo. Na verdade, o cliente não parece estar autenticando nada.
O serviço está configurado para usar a autenticação do Windows e isso parece funcionar perfeitamente. Eu posso ir parahttp: // server / api / shippers no meu navegador da web e ser solicitada a autenticação do windows, uma vez inserida, recebo os dados solicitados.
Nos logs do IIS, vejo as solicitações da API sendo recebidas sem autenticação e recebendo uma resposta de desafio 401.
Documentação sobre este parece ser escassa.
Eu preciso de algumas dicas sobre o que poderia estar errado ou outra maneira de usar a autenticação do Windows com este aplicativo.
Obrigado Craig