No se puede autenticar en el servicio ASP.NET Web Api con HttpClient

Tengo un servicio de API web ASP.NET que se ejecuta en un servidor web con la autenticación de Windows habilitada.

Tengo un sitio de cliente creado en MVC4 que se ejecuta en un sitio diferente en el mismo servidor web que utiliza el HttpClient para extraer datos del servicio. Este sitio de cliente se ejecuta con la suplantación de identidad habilitada y también utiliza la autenticación de Windows.

El servidor web es Windows Server 2008 R2 con IIS 7.5.

El desafío que tengo es lograr que el HttpClient pase al usuario actual de Windows como parte de su proceso de autenticación. He configurado el HttpClient de esta manera:

<code>var clientHandler = new HttpClientHandler();
clientHandler.UseDefaultCredentials = true;
clientHandler.PreAuthenticate = true;
clientHandler.ClientCertificateOptions = ClientCertificateOption.Automatic;
var httpClient = new HttpClient(clientHandler);
</code>

Según tengo entendido, ejecutar el sitio con la suplantación de identidad habilitada y luego construir el cliente de esta manera debería hacer que el cliente se autentique en el servicio utilizando la identidad suplantada del usuario que ha iniciado sesión actualmente.

Esto no está pasando. De hecho, el cliente no parece estar autentificándose en absoluto.

El servicio está configurado para usar la autenticación de Windows y esto parece funcionar perfectamente. puedo ir ahttp: // server / api / shippers en mi navegador web y me solicitan la autenticación de Windows, una vez ingresados ​​recibo los datos solicitados.

En los registros de IIS veo que las solicitudes de API se reciben sin autenticación y reciben una respuesta de desafío 401.

La documentación sobre este parece ser escasa.

Necesito información sobre qué podría estar mal u otra forma de usar la autenticación de Windows con esta aplicación.

Gracias craig

Respuestas a la pregunta(4)

Su respuesta a la pregunta