Azure AD B2C: Una gran bala de plata
Tags: azure, azureadb2c, cloud, spanish
Published: 2021-01-11 13:54:30

El 3 de Octubre de 2020 se llevó a cabo [vOpen Tech 2020](https://vopen.tech/), la conferencia que antes era conocida como .NET Conf y tuvo sus orígenes en Uruguay por el año 2014. A diferencia de años anteriores, esta edición tuvo dos particularidades: la primera es que fue virtual, producto de la pandemia que está presente a nivel mundial desde Marzo de 2020; y por otro lado tuve el placer de formar parte del Equipo Organizador Global que la llevó adelante.

Mi participación estuvo muy orientada a los aspectos tecnológicos, y se centró en el siguiente desafío: _¿Cómo transformar una conferencia que hasta el momento se había desarrollado en forma presencial, para adaptar todos sus procesos y aplicación móvil a un contexto virtual?_

En esta publicación te compartiré mi experiencia y contaré cómo llevamos adelante este desafío, como Azure AD B2C fue clave en la implementación de la solución.

##Contexto: de lo presencial a lo virtual

Uno de los grandes desafíos que tuvimos en vOpen Tech 2020 implicó cambiar de forma completa la manera de registrar e interactuar con los participantes, comparado con las ediciones anteriores que eran presenciales y en múltiples países:

* El registro se llevaba adelante con Eventbrite y el check-in con la lectura de un código QR.

* Tanto los asistentes como los patrocinadores tenían una aplicación móvil multi-plataforma que les permitía interactuar: registrar visitas al stand, realizar sorteos, y obtener estadísticas.

##Solución: Azure AD B2C + Azure Functions como base tecnológica

Es importante aclarar que el real desafío no era construir desde cero una experiencia de registro / inicio de sesión / interacción, dado que esto requeriría mucho tiempo (código) y en consecuencia, dinero. El verdadero desafío era hacerlo bueno, bonito y barato.

Elegimos Azure AD B2C + Azure Functions para construir esta experiencia:

* __Azure AD B2C__: para todo el sistema de registro, inicio de sesión y perfiles de usuario.

* __Azure Functions__: para todo el sistema de _back-end_ de notificaciones y novedades en tiempo real durante el evento virtual.

Vamos a explorar, juntos, qué es Azure AD B2C (dejaremos Azure Functions para otra publicación) y cómo pudimos utilizarla con muy poco código y esfuerzo de configuración.

##¿Qué es Azure AD B2C?

Azure AD B2C es un servicio en la nube IAM (___I____dentity_ ___A____ccess_ ___M____anagement_ o Administrador de Identidades y Acceso) pero orientado al cliente. Esta construido sobre Azure AD (de aquí todas las funcionalidades especificas de IAM), pero agrega una capa de configuración y personalización de flujos de registro e inicio de sesión que podemos exponer de cara al usuario, sin necesidad de escribir nuestro propio _back-end_ o front-end. En pocas palabras, nos brinda un flujo de registro/inicio de sesión listo para usar sin invertir esfuerzo en desarrollo.

![vOpen](https://dev-to-uploads.s3.amazonaws.com/i/ryka80bkqnxai49tqcs3.png)

Aquí podemos apreciar un inicio de sesión con redes sociales, completamente configurable desde el portal de Azure AD B2C.

Adicionalmente podemos incluir inicio de sesión con usuario y contraseña con tan solo un clic.

##Azure AD B2C en acción: ¿Qué nos ofrece?

Una de las características más importantes de este increíble servicio que nos ofrece Azure es que, al estar orientado al cliente final (de ahí el B2C o ___B____usiness-____T____o-____C____lient_), no necesitamos escribir código y es todo configurable desde el mismo portal. Incluso, podemos testear los diferentes flujos de forma muy simple y rápida desde el navegador.

¿Qué más nos ofrece?

* __Personalización de los atributos de usuarios__, Azure AD B2C nos ofrece una lista extensiva de atributos estándar como nombre, apellido, país, etc., o la posibilidad de crear nuestros propios atributos, como Nivel de Inglés por citar un ejemplo. También nos ofrece la habilidad de personalizar la forma en la que mostramos esos atributos (texto libre, selección múltiple, combos, _check-boxes_, etc.).

* Integración con redes sociales y servicios externos como Facebook, LinkedIn, Google, Twitter, Github y más. Además, soporta integraciones con cualquier servicio que soporte el protocolo _OpenID Connect_.

* __Internacionalización__, más de 50 idiomas disponibles y la posibilidad de crear un diccionario a medida.

* __Identidad y estilo__, diseño de la interfaz de usuario 100% personalizable. De este modo, no tenemos que sacrificar la identidad de nuestra marca o negocio.

* __Administración de perfiles de usuario__, además del registro e inicio de sesión, existen flujos para que los usuarios puedan autogestionar la información de sus perfiles.

* __Seguridad, escalabilidad, resiliencia y robustez__, ya que Azure AD B2C está montado sobre Azure AD, tenemos disponibles funcionalidades como MFA (Múltiple Factor de Autenticación o ___M____ulti-____F____actor_ ___A____uthentication_), validación de correo electrónico, certificados, reportes, exportación a Excel y muchos etcéteras más.

##Costos de Azure B2C

Este es quizás el tópico mas importante en lo que tiene que ver con Azure AD B2C, ya que no entender en profundidad como se factura el servicio puede generar gastos que perjudiquen de sobremanera el negocio.

Previo a Noviembre del 2019, el servicio se cobraba utilizando el modelo Por Autenticación, es decir, por cada inicio de sesión de cada usuario durante el mes en curso. Por ejemplo, si dos usuarios realizan 50 inicio de sesiones cada uno durante el mes, se facturan 100 unidades.

En Noviembre del 2019, Azure introdujo el concepto de MAU (___M____onthly_ ___A____ctive_ ___U____sers_ o Usuarios Mensualmente Activos) para facturar el servicio. ¿Cómo funciona este nuevo modelo?

A diferencia del modelo Por Autenticación, el modelo MAU se factura por usuario activo durante el mes en curso. Siguiendo con el ejemplo anterior, si tenemos dos usuarios que realizan 50 inicio de sesiones cada uno durante un mes, se facturan 2 unidades.

El costo de cada MAU se calcula de la siguiente forma:

* Los primeros 50000 son totalmente gratis

* A partir de los 50000, USD 0.00325 por MAU

Como podemos apreciar, es un servicio de muy bajo costo, que incluso nos deja margen para pruebas e investigación. No solo es barato en términos de dinero, sino también en términos de desarrollo, ya que nos permite tener un _login_ multi idioma con registro de usuario, gestión de perfiles e integración con redes sociales en menos de una hora. Si!!! En menos de una hora!!!

Les comparto el webinar ["Azure AD B2C para mortales"](https://www.youtube.com/watch?v=vP-iY-vbUMk&ab_channel=ConoSurTech) que realicé en [Viernes de Azure](https://azure.conosur.tech/viernes-de-azure/) para Azure en Español gracias a los genios de [Pablo Ariel Di Loreto](https://www.linkedin.com/in/pablodiloreto/) y [Guillermo Bellmann](https://www.linkedin.com/in/gbellmann/).

{% youtube vP-iY-vbUMk %}

##Próximos pasos

En los próximos artículos compartiré un paso a paso de como configurar y comenzar a utilizar nuestro Azure AD B2C, como personalizar nuestros usuarios, idiomas y como implementar nuestro propio estilo y así mantener nuestra identidad intacta.

Eso sí, te pido un poco de paciencia.

Si necesitas asesoramiento o ayuda, si tenés dudas o no sabes cómo comenzar, o te interesa conocer/aprender sobre otros servicios de Azure, contáctame, en [__Distillery__](https://distillery.com/) tenemos profesionales certificados que te van a poder ayudar y asesorar para encontrar la solución que tu negocio necesita.