Securizar una aplicación nativa con WAAD

En este post veremos cómo es posible securizar una aplicación nativa que haga uso de WAAD, así como ver cómo es posible que ésta haga una llamada a un servicio Web API que también está securizado con WAAD. Las dos aplicaciones hacen uso del mismo tenant de Windows Azure.

Básicamente el ejemplo es prácticamente igual que los que veíamos meses atrás con ACS, con el principal cambio de que ya hay versión definitiva de la librería cliente de WAAD; Active Directory Authentication Library (ADAL).

Securizar aplicaciones Windows 8 con ACS y WAAD

Securizar aplicaciones Windows Phone 8 con ACS

En este ejemplo he creado una nueva aplicación WPF y el añadido el paquete de nuget de Active Directory Authentication Libray.

01-WAAD_WPF

Una vez tenemos la aplicación creada, desde el portal de Windows Azure tenemos que dar de alta una nueva aplicación en nuestro tenant de WAAD. En este caso, creamos una nueva aplicación nativa.

02-WAAD_WPF

Además de darle un nombre deberemos indicar una URI válida, que como dice en la información no tiene por qué ser real, pero si una URI válida. Este valor lo usaremos posteriormente en el código cliente que escribamos.

03-WAAD_WPF

Así mismo, una vez creado veremos otro dato importante que necesitaremos, el ClientID.

Al inicio del post también comentábamos que queremos que esta aplicación pueda hacer llamadas a nuestro servicio Web API, securizado también con WAAD. Pues bien, en la sección Web APIs indicaremos que queremos que esta aplicación nativa pueda acceder al servicio de Web API, tan fácil como eso.

 

04-WAAD_WPF

Una vez creada, tendremos que crear el código para que el usuario pueda autenticarse en la aplicación, conseguir un token de seguridad y hacer la llamada REST.

El siguiente código es el código necesario para conseguir un token de seguridad. Al llamar a AcquireToken se le mostrará al usuario la pantalla para que pueda autenticarse. Si la autenticación es correcta, podemos conseguir un token de seguridad haciendo uso del método CreateAuthorizationHeader.

05-WAAD_WPF

06-WAAD_WPF

 

Y una vez conseguido el token, sólo tenemos que enviarlo en las cabeceras de autenticación de las peticiones que hagamos.

 

05.1-WAAD_WPF

Ibon Landa

bon Landa lleva más de 15 años dedicado al desarrollo de software. Durante este tiempo ha trabajado en diferentes empresas en las cuáles ha podido trabajar en diferentes entornos y tecnologías. Actualmente está focalizado principalmente en tareas de desarrollo, arquitectura, en las herramientas del ciclo de vida y en todo lo relacionado con la plataforma de Cloud Computing Microsoft Azure, área en el que ha sido reconocido como MVP. Participa de forma activa en la comunidad, escribiendo su blog, manteniendo un portal sobre Microsoft Azure y colaborando con Microsoft y grupos de usuarios en eventos de formación, talleres y giras de producto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *