En post anteriores veíamos cómo crear un tenant de Windows Azure Active Directory para disponer de este servicio de identidad en la nube. En este post toca ver cómo podemos usar este directorio para securizar una aplicación Web, este caso una aplicación MVC.
Una vez que hemos seleccionado la opción de crear un nuevo proyecto web, seleccionaremos la opción de generar una aplicación MVC. En la parte derecha del formulario vemos un botón (Change Authentication) el cuál nos permitirá configurar de forma fácil qué tipo de seguridad queremos aplicar.
Entra las diferentes opciones que existen, vemos una que nos permitirá usar de forma fácil WAAD; Organizational Accounts.
Una vez hemos seleccionado esta opción podremos configurar cómo será nuestra seguridad…si será una aplicación que use un único directorio (single-tenant), si tendrá varios (multi-tenant) o incluso si en lugar de usar un directorio de WAAD en la nube queremos usar cualquier otro que podamos tener on-premise, otro STS que podamos tener nosotros.
En este punto tenemos que indicar el nombre de nuestro tenant, el cuál creamos en el post anterior.
Si no proporcionamos un “App ID”, el wizard de creación del proyecto creará uno por nosotros de forma automática, con la URL dónde se hostea en local la aplicación web.
Una vez establecemos estas opciones, podemos ya darle a crear el nuevo proyecto. Durante el proceso de creación se nos pedirá introducir las credenciales de administrador de nuestro tenant de WAAD, ya que este proceso crea una nueva aplicación en nuestro tenant.
Recordad, que por cada aplicación que queremos securizar, tenemos que dar de alta una nueva aplicación en el tenant. La aplicación la podemos dar de alta nosotros manualmente e introducción el “App ID” en el wizar de creación o dejar que sea el wizard el que lo haga por nosotros.
El resultado de este proceso será que tendremos un nuevo proyecto MVC pero securizado con WAAD. Si os interesa indigar un poco más, podéis echar un ojo al fichero de configuración de la aplicación Web para que veáis las entradas que hay añadidas y que son las que indican que la aplicación va securizada con WAAD, todo en el fichero de configuración.
Si vamos al portal de Windows Azure veremos en la sección de aplicaciones una nueva aplicación que ha sido creada durante el proceso de creación del proyecto web.
Si ejecutamos la aplicación en local (F5), veremos que se nos piden las credenciales de nuestro tenant. Esta página no es de nuestra aplicación, ya que la aplicación NO autentica, quien autentica es nuestro proveedor de identidad en la nube, es decir, Windows Azure Active Directory. Una vez que la autenticación es correcta, se nos redirige a nuestra aplicación.
Si indicamos unas credenciales válidas, veremos nuestra aplicación web con la plantilla por defecto que genera Visual Studio. En la parte superior derecha veremos el nombre del usuario autenticado, lo mismo que si estuviéramos usando autenticación Windows o autenticación basada de formularios.
Lógicamente, si tuviéramos más de una aplicación web y accedemos a ella o si estuviéramos ya autenticados, no se nos volverían a pedir las credenciales.