WIF es sencillo, úsalo!! #1

 

Bueno, como reza el título la idea de esta serie (llevo ya un tiempo escribiendo alguna serie que otra y me parece una gran idea para el blog) es intentar mostrar las bondades de Windows Identity Foundation y de su uso dentro de nuestros desarrollos en .NET. Aunque como comenté en otras ocasiones a mi no me gusta hacer los típicos 101, y ya de sobra he explicado que el motivo no es por prepotencia sino porque considero que son materiales que no aportan nada al estar la Web inundado de este tipo de escenarios, si me gustaría en este caso empezar desde las cosas más básicas hasta escenarios más complejos.

Por una u otra razon, a excepción de contadas ocasiones, la adopción de WIF (al menos hasta dónde yo conozco) es más bien excasa. Hablando sobre los motivos de esto en las jornadas del Cloud Power, una de las conclusiones que salieron fué un motivo podría ser el hecho de que generalmente a los desarrolladores nos da miedo o no nos gusta tener que enfrentarnos con temas de seguridad, más si cabe, si ya tenemos ‘ñapas’ o soluciones más o menos buenas para algunos de los escenarios que tengamos entre manos. A lo largo de esta serie, intentaré mostrar como realmente el trabajo con WIF es sencillo y que a los desarrolladores, lo único que nos va a aportar es facilidad y sencillez de trabajo, amén de librarnos de trabajo en nuestros diferentes clientes :-)…

 

Empezemos por el principio, la motivación.

 

Untitled

Que nos aporta WIF? Cual es el problema a resolver? Sin lugar a dudas, estas deberían ser las dos primeras preguntas que nos deberíamos hacer, tanto para esta como para cualquier otra tecnología, antes de pensar en usar esta tecnología. La respuesta es variada y seguramente, espero, en muchos de los siguientes argumentos  estará usted de acuerdo.

  1. Experiencia en seguridad

Hasta dónde yo se ( lógicamente no me conozco los planes de estudio de todo el mundo) la seguridad suele ser una tarea sobre la que se pasa de puntillas, incluyendo aquí problemas de criptografía, problemas con certificados, ataques, canonicalización etc etc.. Hasta ahora, generalmente los problemas de seguridad que teníamos que resolver se podían atajar directamente con un usuario y contraseña ( cubramos un tupido velo respecto a como se hacia en muchos sitios),  sin embargo, en este mundo cada vez más global, elementos como los tokens de seguridad, la autenticación en proveedores terceros ( token facebook, twitter, partners, open id, oauth… ) son cada vez más comunes, el manejo de estos elementos, la mezcla con los nuestros, y otros patrones de seguridad hacen que necesitemos en muchos casos muchos conocimientos de seguridad ( muchos muchos)

  1. La identidad es ya un problema complejo

Como acabamos de comentar, los escenarios de seguridad son cada vez más complejos, nuestras aplicaciones ya no se acceden solamente desde la intranet o internet, por lo tanto nuestros repositorios de usuarios tienen que ser capaces de manejar diferentes tipos de proveedores ( AD, custom, Google,Yahoo, Facebook etc….), a mayores, escenarios como la federeación de partners, la delegación vienen a completar el conjunto de escenarios de seguridad que tenemos que cubrir como desarrolladores.

A mayores de esto, hoy en dia la identidad ya no solamente viene representada por un par usuario/contraseña, la identidad, tanto de un usuario como de una máquina, puede venir representada por diferentes atribuciones, atribuciones que hoy en dia tenemos que separar de nuestros repositorios de usuarios, obligándonos otra vez a “estar atados a un repositorio determinado”

  1. Interoperabilidad

Como yo suelo decir, “!Somos los mejores en este mundo, pero…. por suerte no somos los únicos!” y por lo tanto nuestros mecanismos de seguridad  (autenticación / autorización) deberían de ser interoperables con otras tecnologías…..

 

WIF, una solución…

 

Untitled2

NOTA: Aunque la figura anterior hace referencia al trabajo en la web, realmente este mismo criterio se aplicaria a un servicio WCF.

 

Una posible solución a este problema es externalizar el proceso de seguridad de nuestras aplicaciones, hacer un “outsourcing de la autenticación” delegando en un “experto” los distintos problemas y escenarios que se nos puedan plantear. WIF y el modelo de seguridad basado en “claims” nos permiten realizar esta tarea de una fomra realmente sencilla.

 

Lógicamente este modelo implica una serie de conceptos y definiciones que por ahora desconocemos pero que trataremos de explicar en la siguiente entrada de esta serie, que esperemos sea pronto….

 

Saludos

unai

9 comentarios en “WIF es sencillo, úsalo!! #1”

  1. Espero que no te lo tomes a mal, per tu nick te viene al pelo, por lo de pregunton cojonero, pero deberías tambien ser un lector cojonero puesto que sober Nlayer App y WIF ya te dije algo en respuesta a una pregunta en un post anterior. De vez en cuando no solamente hay que pedir y/o preguntar, a veces hay que hacer también el esfuerzo de buscar y leer..

    Unai

  2. De nada Unai, pero estoy contigo en que buscar y molestarse a investigar un poco, y aportar, enriquece más que esperar a que te caiga la información gratuitamente del cielo.

    Un saludo y quedo a la espera de más entregas sobre WIF. 🙂

Deja un comentario

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