none
Implementar autenticación básica para un web api rest en csharp.net

    Pregunta

  • Hola a todos:

    Les comento la situación:

    Me han pedido crear un web service api rest.

    Lo desarrollé en C# .NET 4.5 con Visual Studio 2013.

    Nos pidieron que usaramos autenticación básica con HTTPS, lo cual veo que es seguro ya que las credenciales viajarían encriptadas. De momento para realizar las pruebas lo estamos haciendo sin HTTPS.

    Ahora voy al grano, tengo una gran duda respecto a la autenticación básica, ya que siguiendo un tutorial pude configurarlo de tal manera que únicamente responde cuando a través de Fiddler le envío en el header lo siguiente:

    Authorization: basic (usuario:password encriptado en Base64).

    Entiendo que en esta forma de hacerlo, no hay que configurar autenticacion básica en IIS, sino dejarla como anónima, ya que todo lo resuelve el web service.

    Ahora la pregunta es... Cuando se habla de autenticación básica, como se sabe si se habla de esto o de la autenticación básica que maneja exclusivamente IIS ??

    En los requisitos del web service nos piden solamente autenticación básica pero no sé darme cuenta a cual se refieren.

    La duda surgió dado que muchos web service con este tipo de autenticación pueden ser probarlos en un browser y este les solicita usuario y password del mismo navegador. Sin necesidad enviarle de forma encriptada el par usuario:contraseña.

    Agradezco desde ya la luz que me puedan arrojar para esta situación.

    Saludos a todos.


    Luis

    viernes, 14 de septiembre de 2018 21:07

Todas las respuestas

  • Hola Walter:

    Gracias por responder, te comento que actualmente si no incluyo Authorizacion en el header, el navegador simplemente no hace nada, pero si al mismo tiempo lo hago desde Fiddler, puedo ver que responde con un error 401 como mencionas. Mi pregunta sería, como hacer para que cuando yo no mande las credenciales encriptadas, éste sea capaz de solicitarlas en pantalla ?

    Las ultima prueba que hice recien fue deshabilitar la autenticacion basica desde el web api y habilitarla en IIS, (desactivando la anonima y habilitando la basica). De esta forma ahora el browser me pide autenticacion cuando no la mando y luego de enviarla, puedo hacer uso normal de él.

    Lo que no entiendo es por qué no puedo tener ese mismo comportamiento con la auth basica programada en mi web api.

    Muchas gracias desde ya.

    Saludos


    Luis

    viernes, 14 de septiembre de 2018 21:46