Hablemos sobre .Net y Azure

Mes: abril 2021

Protegiendo Web API .Net 5 con Azure AD B2C

Uno de los requerimientos más comunes cuándo utilizamos Azure AD B2C es que sólo usuarios autenticados de nuestro tenant puedan acceder a nuestras APIs.

En este artículo veremos como configurar Azure AD B2C y como integrar una Web API .Net 5 para aceptar peticiones de usuarios autenticados.

IMPORTANTE: para poder implementar los pasos aquí mencionados es necesario contar con una configuración básica en Azure AD B2C. Podrás encontrarlos en el siguiente paso a paso.

Antes de Comenzar

En este tutorial vamos a utilizar .Net 5 como marco o framework de desarrollo, con lo cual es un requisito excluyente tener instalado .Net 5 SDK. Si aún no lo tienes, lo puedes descargar aquí, también encontrarás un instructivo paso a paso en caso de que tengas dudas.

Por otro lado, vamos a utilizar Visual Studio 2019 Community Edition, sin embargo este no es un requerimiento excluyente ya que podemos utilizar cualquier editor de texto o ambiente de desarrollo como Visual Studio Code o Notepad++. Puedes descargar Visual Studio 2019 aquí.

Contexto

Muy frecuentemente, encontramos como parte de nuestras aplicaciones componentes del tipo API REST para exponer funcionalidades específicas.

Suele ser habitual que queramos proteger dichas APIs de accesos a usuarios no autorizados o que no forman parte de nuestra aplicación.

Requerimiento

Tenemos una aplicación Web API .Net 5 la cuál queremos integrar con Azure AD B2C, de forma que solo usuarios autenticados puedan acceder.

Esta aplicación todavía no implementa ningún mecanismo de autenticación, con lo cual veremos también los pasos necesarios para configurar autenticación.

Microsoft Identity Web

Microsoft ha estado mejorando y simplificando la forma en la que se integran aplicaciones web con Azure AD, no solo soportando estándares como OAuth2 y OpenID Connect, sino también reduciendo la cantidad de código necesario para implementar la solución.

Para nuestra integración utilizaremos la librería Microsoft.Identity.Web. Estas librerías están construidas sobre la Biblioteca de Autehticación de Microsoft o MSAL.

  • Microsoft.Identity.Web
    Esta librería proporciona los mecanismos necesarios para interactuar con Azure AD de una forma simple, segura y estándar. Por ejemplo, los manejadores para las URL de redirección para el inicio de sesión y el cierre de sesión.

Paso 1: Solución, proyecto y librerías

Comenzaremos creando una solución y un proyecto Web API. Luego instalaremos la librería mencionada en la sección anterior y para validar que todo esté funcionando correctamente compilaremos y ejecutaremos la solución.

# Crear solución y projecto API
dotnet new sln --name AzureAdB2C
dotnet new webapi --name AzureAdB2C.API --output AzureAdB2C.API
dotnet sln add .\AzureAdB2C.API\AzureAdB2C.API.csproj

# Instalar la librería necesaria
dotnet add .\AzureAdB2C.API\AzureAdB2C.API.csproj package Microsoft.Identity.Web

# Restaurar y compilar
dotnet restore
dotnet build

# Ejecutar
dotnet run --project .\AzureAdB2C.API\AzureAdB2C.API.csproj

Deberíamos ver algo similar al siguiente resultado desde la consola, donde se proporcionará la URL local para poder acceder a la documentación y corroborar que esta funcionando.

Dotnet run desde la línea de comandos
Dotnet run desde la línea de comandos

Por defecto, .Net 5 incluye Swagger como mecanismo de documentación de APIs. Para acceder al mismo, usaremos la URL provista en la línea de comandos (en este caso https://localhost:5001) y agregaremos como parte de la ruta /swagger.

https://localhost:5001/swagger

Documentación con Swagger
Documentación con Swagger

Paso 2: Configuración de servicios y pipeline

Vamos a configurar los servicios necesarios para la integración con Azure AD B2C. Además configuraremos el pipeline para utilizar Autenticación.

Para este realizaremos los cambios detallados a continuación en la clase Startup.cs del proyecto AzureAdB2C.API.

Como paso preliminar agregaremos el siguiente using a la clase Startup.cs:

using Microsoft.Identity.Web;
using Microsoft.AspNetCore.Authentication.JwtBearer;

ConfigureServices

En el método ConfigureServices configuraremos los servicios necesarios para la integración con Azure AD B2C.

Microsoft.Identity.Web incluye un método de extensión muy conveniente para configurar la integración llamado AddMicrosoftIdentityWebApi().

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
            .AddMicrosoftIdentityWebApi(options =>
            {
                Configuration.Bind("AzureAdB2C", options);

                options.TokenValidationParameters.NameClaimType = "name";
            },
            options => { Configuration.Bind("AzureAdB2C", options); });

    services.AddControllers();
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new OpenApiInfo { Title = "AzureAdB2C.API", Version = "v1" });
    });
}

El método AddMicrosoftIdentityWebApi() nos permite utilizar la configuración de nuestra aplicación mediante el objeto IConfiguration indicando el nombre de la sección a utilizar, en este caso "AzureAdB2C". Agregaremos esta sección de configuración mas adelante en archivo appsettings.json.

Configure

El único requisito a nivel de pipeline, es incluir el middleware de autenticación con el método UseAuthentication(). Debido a que estamos trabajando con el pipeline, es muy importante respetar el orden en el que llamamos al método.

Tiene que ser después de UseRouting() y antes de UseAuthorization().

app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();

Paso 3: Registrar la API en Azure AD B2C

Para que nuestra API pueda interactuar con Azure AD B2C es necesario generar un registro de aplicación previamente.

Para poder registrar una nueva aplicación, debemos navegar a la sección de Registros de aplicaciones situada sobre el panel de la izquierda y luego ir a Nuevo Registro.

Registro de aplicaciones
Registro de aplicaciones

En formulario de registro solo vamos a completar el campo Nombre y dejaremos el resto de los campos con sus valores por defecto. En este caso elegí como nombre “API”.

Nuevo registro de aplicación
Nuevo registro de aplicación

Ya finalizado el registro de aplicación para la API, en la sección de Información general vamos a tomar nota del Id de aplicación, ya que lo vamos a necesitar para la configuración de la API.

Id de aplicación o Client Id
Id de aplicación o Client Id

Paso 4: Exponer un ámbito o scope

Parte del requerimiento que estamos implementando implica que solo usuario autorizados puedan acceder a la API. A su vez los usuarios tienen acceso a determinadas APIs o recursos.

Esos recursos (o grupos de recursos) se representan a través de lo que se denomina ámbito o scope.

Cada API o recurso expone la lista de scopes que maneja de forma que puedan ser asignados a los usuarios en función de los roles que asignados.

A modo de ejemplo y para clarificar un poco más que es un scope, una API para gestión de Posts de un Blog, podría exponer la siguiente lista:

  • Lector: este scope habilita el acceso al los posts recomendados que un usuario puede tener en base a sus etiquetas preferidas.
  • Escritor: este scope habilita el acceso en modo edición a los posts que un usuario que ha escrito.
  • Moderador: este scope habilita la eliminación de posts que no cumplen con las reglas del blog

Exponer un ámbito o scope

Para exponer un scope vamos a ir al registro de aplicación que creamos en el paso anterior para nuestra API y luego a la sección Exponer una API. Finalmente vamos a clicar la opción Agregar un ámbito.

Exponer una API
Exponer una API

Establecer URI de Identificador

La primera vez que agregamos un scope vamos a tener que definir la URI con la cuál se identificará a todos los scopes expuestos.

URI de identitificación
URI de identitificación

Azure AD B2C sugerirá un valor aleatorio, sin embargo es recomendable asignar un valor que tenga sentido y represente la API.

Siguiendo con el ejemplo, posts es un buen nombre.

De esta forma, los scopes Lector, Escritor y Moderador se verían así:

  • https://linkedinazureb2c.onmicrosoft.com/posts/Lector
  • https://linkedinazureb2c.onmicrosoft.com/posts/Escritor
  • https://linkedinazureb2c.onmicrosoft.com/posts/Moderador

Agregar Scope

Una vez establecida la URI, continuamos con la creación del scope.

Agregar scope
Agregar scope

Paso 5: Configuración de la aplicación Web API

En este punto solo nos falta recolectar algunas piezas de información y configurar la aplicación Web API para que se integre correctamente con Azure AD B2C. La información que necesitamos es la siguiente:

  • Instancia
  • Dominio
  • Id de Cliente
  • Id de flujo de usuario

El Id de Cliente lo obtuvimos en el Paso 3 cuando registramos la API, para obtener la Instancia, Dominio y Id del flujo de Usuario te dejo esta breve sección del artículo que escribí sobre integración con aplicaciones Web MVC.

En el archivo de configuración appsettings.json agregaremos una nueva sección llamada “AzureAdB2C” con las cuatro piezas de información del paso anterior.

"AzureAdB2C": {
  "Instance": "https://linkedinazureadb2c.b2clogin.com",
  "ClientId": "f4ad0000-0000-0000-0000-000000004aec",
  "Domain": "linkedinazureadb2c.onmicrosoft.com",
  "SignUpSignInPolicyId": "B2C_1_InicioSesionConRegistro"
}

Conclusión

En este post vimos cómo proteger una Web API con Azure AD B2C de forma que sólo usuario autenticados mediante un flujo de usuario de Azure AD B2C puedan acceder a la API.

Sin embargo, todavía no hemos podido probar la integración ya que para eso necesitamos poder autenticar un usuario.

En el próximo artículo compartiré como integrar una aplicación Web MVC con aplicaciones Web API utilizando Azure AD B2C como mecanismo de autenticación.

Podrás encontrar el código completo en mi GitHub.

Como es habitual todos los años, Microsoft lleva adelante una conferencia llamada Microsoft Build.

Esta conferencia se celebra generalmente en el mes de Mayo y tiene como objetivo presentar actualizaciones, mejoras y novedades en sus distintos servicios y plataformas como Azure, Windows 10 y Office 365.

Debido a la pandemia mundial de COVID-19, Microsoft tuvo que replantear el formato de la conferencia llevándola a formato on-line y totalmente abierta, lo cuál le abre las puertas a desarrolladores de todo el mundo.

¿Cuándo es la conferencia?

El Microsoft Build 2021 se llevará a cabo entre los días 25 y 27 de Mayo. Comenzará el 25 de Mayo a las 8:00 AM PST con una introducción al evento y seguirá de la mano de Satya Nadella, CEO de Microsoft, con el Key Notes.

La agenda completa del evento se encuentra disponible en el sitio oficial.

¿Cómo participo?

Si bien la conferencia es totalmente gratuita y abierta, es necesario registrarse. El proceso de registro es bastante simple y puedes hacerlo desde aquí.

Por supuesto que yo ya me registré!!

Integración de Azure AD B2C con MVC .Net 5

Hace unas semanas escribí una serie de artículos donde compartí paso a paso como dar los primeros pasos con Azure AD B2C y cómo configurar el servicio de forma correcta.

En este artículo veremos como realizar la integración de Azure AD B2C con aplicaciones Web MVC .Net 5 de forma fácil y rápida.

IMPORTANTE: trabajaremos sobre la base construida en los artículos anteriores, con lo cual es recomendable tener claros los conceptos y pasos allí detallados.

Antes de Comenzar

En este tutorial vamos a utilizar .Net 5 como marco o framework de desarrollo, con lo cual es un requisito excluyente tener instalado .Net 5 SDK. Si aún no lo tienes, lo puedes descargar aquí, también encontrarás un instructivo paso a paso en caso de que tengas dudas.

Por otro lado, vamos a utilizar Visual Studio 2019 Community Edition, sin embargo este no es un requerimiento excluyente ya que podemos utilizar cualquier editor de texto o ambiente de desarrollo como Visual Studio Code o Notepad++. Puedes descargar Visual Studio 2019 aquí.

Contexto

En la actualidad, casi cualquier aplicación requiere que ciertas partes o componentes estén restringidas a usuarios autenticados de la aplicación.

Habitualmente la autenticación se realiza presentando al usuario un formulario de Inicio de sesión donde debe ingresar el nombre de usuario o email y una contraseña.

Es aquí donde entra Azure AD B2C y los flujos de usuario.

Requerimiento

Tenemos una aplicación Web MVC .Net 5 la cual queremos integrar con nuestro Azure AD B2C. Esta aplicación todavía no implementa ningún tipo de autenticación.

La idea principal es que no sólo aprendamos a integrar Azure AD B2C si no que además veamos los requerimientos mínimos para comenzar a utilizar Autenticación.

Microsoft Identity Web

Microsoft ha estado mejorando y simplificando la forma en la que se integran aplicaciones web con Azure AD, no solo soportando estándares como OAuth2 y OpenID Connect, sino también reduciendo la cantidad de código necesario para implementar la solución.

Para nuestra integración utilizaremos las librerías Microsoft.Identity.Web y Microsoft.Identity.Web.UI. Estas librerías están construidas sobre la Biblioteca de Autehticación de Microsoft o MSAL.

  • Microsoft.Identity.Web
    Esta librería proporciona los mecanismos necesarios para interactuar con Azure AD de una forma simple, segura y estándar. Por ejemplo, los manejadores para las URL de redirección para el inicio de sesión y el cierre de sesión.
  • Microsoft.Identity.Web.UI
    Esta librería proporsiona los componentes visuales (controladores y vistas) necesarias para la integración, como pantallas de consentimiento, cierre de sessión, etc.

Paso 1: Solución, proyecto y librerías

Comenzaremos creando una solución y un proyecto Web MVC. Luego instalaremos las dos librerías mencionadas en la sección anterior y para validar que todo esté funcionando correctamente compilaremos y ejecutaremos la solución.

# Crear solución y projecto MVC
dotnet new sln --name AzureAdB2C
dotnet new mvc --name AzureAdB2C.MVC --output AzureAdB2C.MVC
dotnet sln add .\AzureAdB2C.MVC\AzureAdB2C.MVC.csproj

# Instalar las librerías necesarias
dotnet add .\AzureAdB2C.MVC\AzureAdB2C.MVC.csproj package Microsoft.Identity.Web
dotnet add .\AzureAdB2C.MVC\AzureAdB2C.MVC.csproj package Microsoft.Identity.Web.UI

# Restaurar y compilar
dotnet restore
dotnet build

# Ejecutar
dotnet run --project .\AzureAdB2C.MVC\AzureAdB2C.MVC.csproj

Deberíamos ver algo similar al siguiente resultado desde la consola, donde se proporcionará la URL local para poder acceder al sitio web y corroborar que esta funcionando.

Dotnet run desde la línea de comandos
Dotnet run desde la línea de comandos
Home aplicación web MVC
Home aplicación web MVC

Paso 2: Configuración de servicios y pipeline

Vamos a configurar los servicios necesarios para la integración con Azure AD B2C. Además configuraremos el pipeline para utilizar Autenticación.

Para este realizaremos los cambios detallados a continuación en la clase Startup.cs del proyecto AzureAdB2C.MVC.

Como paso preliminar agregaremos los siguientes usings a la clase Startup.cs:

using Microsoft.Identity.Web;
using Microsoft.Identity.Web.UI;

ConfigureServices

Por un lado tenemos que configurar los servicios necesarios relacionados a la interfaz de usuario, como por ejemplo las vistas de consentimiento y cierre de sesión.

Uno de los cambios interesantes en la nueva librería MSAL es que incluye todos los controladores y vistas necesarias en forma predeterminada. Esto quiere decir que si no tenemos requerimientos especiales, no necesitamos crear ningún controlador ni vista adicional.

Necesitamos incluir los metodos de extension AddMicrosoftIdentityUI() para la parte de la interfaz de usuario y AddMicrosoftIdentityWebAppAuthentication() para la integración con Azure AD B2C.

Además incluiremos los servicios necesarios para trabajar con Razor Pages, ya que son requeridos por AddMicrosoftIdentityUI()

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews()
        .AddMicrosoftIdentityUI();

    services.AddMicrosoftIdentityWebAppAuthentication(Configuration, "AzureAdB2C");

    services.AddRazorPages();
}

El método AddMicrosoftIdentityWebAppAuthentication() requiere como parámetro inicial el objeto de configuración IConfiguration y como segundo parámetro el nombre de la sección de configuración a utilizar, en este caso "AzureAdB2C". Agregaremos esta sección de configuración mas adelante en archivo appsettings.json.

Configure

El único requisito a nivel de pipeline, es incluir el middleware de autenticación con el método UseAuthentication(). Debido a que estamos trabajando con el pipeline, es muy importante respetar el orden en el que llamamos al método.

Tiene que ser después de UseRouting() y antes de UseAuthorization().

app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();

Por último, incluiremos el pipeline para utilizar Razor Pages.

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");

    endpoints.MapRazorPages();
});

Paso 3: Vistas para inicio y cierre de sesión

Ya que partimos de una aplicación Web MVC base, el sitio todavía no ofrece las acciones para inicio y cierre de sesión correspondientes. Esta es una tarea que tendremos que hacer nosotros.:

La implementación consiste en

  • Agregar una vista parcial incluyendo las acciones para inicio y cierre de sesión, habitualmente llamada _LoginPartial.cshtml.
  • Modificar la vista parcial _Layout.cshtml para incluir la vista del punto anterior.

_LoginPartial.cshtml

Esta vista se encargara de mostrar la acción para inicio de sesión en el caso de que el usuario no haya iniciado sesión aún, o mostrar el nombre del usuario junto con la acción de cerrar sesión en caso contrario.

@using Microsoft.Identity.Web
@if (User.Identity.IsAuthenticated)
{
    <ul class="nav navbar-nav navbar-right">
        <li class="navbar-text">Hello @User.GetDisplayName()!</li>
        <li><a asp-area="MicrosoftIdentity" asp-controller="Account" asp-action="SignOut">Sign out</a></li>
    </ul>
}
else
{
    <ul class="nav navbar-nav navbar-right">
        <li><a asp-area="MicrosoftIdentity" asp-controller="Account" asp-action="SignIn">Sign in</a></li>
    </ul>
}

Algo destacable son las acciones para inicio de sesión (Sign in) y cierre de sesión (Sign out). Ambas utilizan el controlador Account dentro del área MicrosoftIdentity.

Este controlador forma parte de la librería Microsoft.Identity.Web.UI. Este uno de los mejores cambios que esta librería nos ofrece, ya que nos evita tener que crear controladores y vistas.

_Layout.cshtml

Esta vista contiene, entre otras cosas, la cabecera (header) con la barra de navegación (navbar) o menú. Agregaremos como parte de la cabecera la vista parcial que creamos en la sección anterior.

<header>
    <nav class="navbar navbar-expand-sm ...">
        <div class="container">
            <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">AzureAdB2C.MVC</a>
            <button class="navbar-toggler">...            </button>
            <div class="navbar-collapse collapse ...">
                <ul class="navbar-nav flex-grow-1">...</ul>
                <partial name="_LoginPartial" />
            </div>
        </div>
    </nav>
</header>

Si ejecutamos la aplicación ahora veremos disponible la acción Sign in en la barra de menú sobre la parte de arriba a la derecha.

Home aplicación web MVC con Inicio de Sesión
Home aplicación web MVC con Inicio de Sesión

Paso 4: Agregar URLs de redirección en Azure AD B2C

Ya con nuestra aplicación funcionando, configuraremos la URL de redirección hacia nuestro sitio web local para el inicio de sesión y para el cierre de sesión. Como vimos anteriormente, Microsoft.Identity.Web incluye ambos manejadores.

  • El manejador de inicio de sesión responde a la URL /signin-oidc, que en nuestro ambiente de desarrollo local sería https:localhost:5001/signin-oidc.
  • El manejador de cierre de sesión responde a la URL /signout-oidc, que en nuestro ambiente de desarrollo local sería https:localhost:5001/signout-oidc.

Cuando realizamos la configuración inicial del tenant, registramos una nueva aplicación llamada Sitio Web Increíble donde agregamos una URL de redirección de prueba.

Para agregar la URL de redirección, desde el registro de aplicación Sitio Web Increíble en la sección Autenticación, tendremos la lista de URLs. Haciendo clic en Agregar un URI podremos agregar el nuestro.

Más abajo, agregaremos también la URL de cierre de sesión del canal frontal. Importante siempre guardar los cambios.

Configuración URL de retorno Azure AD B2C
Configuración URL de retorno Azure AD B2C

Paso 5: Recolectar información de Azure AD B2C

Para finalizar la integración necesitamos disponer de los siguientes datos:

  • Instancia
  • Dominio
  • Id de Cliente
  • Id del flujo de Inicio de Sesión y Registro

Instancia y Dominio

Si bien el nombre de la instancia y el nombre del dominio son diferentes, en ambas requerimos el subdominio. El subdominio lo podemos obtener desde el panel de Información General del tenant a partir del Nombre de Dominio.

Panel de información general Azure AD B2C
Panel de información general Azure AD B2C

Ya con el nombre de dominio completo, vamos a extraer la primer parte, y ese será el subdominio que usaremos para construir el nombre de la instancia. En el ejemplo anterior el nombre de dominio es linkedinazureadb2c.onmicrosoft.com, nos quedaremos con linkedinazureadb2c.

El nombre de instancia responde al siguiente formato https://{subdominio}.b2clogin.com, donde reemplazaremos {subdominio} por linkedinazureadb2c.

Estos son los valores que necesitamos:

  • Instancia: https://linkedinazureadb2c.b2clogin.com
  • Dominio: linkedinazureadb2c.onmicrosoft.com

Id de Cliente

El Id de Cliente o Client Id es el Id de registro de aplicación (Sitio Web Increíble). Y lo podemos obtener desde la lista de registros de aplicaciones bajo la columna Id de aplicación (cliente).

Registros de aplicaciones Azure AD B2C
Registros de aplicaciones Azure AD B2C

Id del flujo de Inicio de Sesión y Registro

El último dato que necesitamos es el id del flujo de usuario para inicio de sesión y registro, el cual obtendremos desde la sección de flujos de usuarios bajo la columna Nombre.

Flujos de usuario Azure AD B2C
Flujos de usuario Azure AD B2C

Paso 6: Configuración de la aplicación Web MVC

En este punto solo nos falta tomar la información que recolectamos anteriormente y configurar la aplicación Web MVC para que se integre correctamente con Azure AD B2C.

En el archivo de configuración appsettings.json agregaremos una nueva sección llamada “AzureAdB2C” con las cuatro piezas de información del paso anterior.

"AzureAdB2C": {
  "Instance": "https://linkedinazureadb2c.b2clogin.com",
  "ClientId": "f4ad0000-0000-0000-0000-000000004aec",
  "Domain": "linkedinazureadb2c.onmicrosoft.com",
  "SignUpSignInPolicyId": "B2C_1_InicioSesionConRegistro"
}

Paso 7: Pruebas

Si realizamos todos los pasos correctamente, al clicar en la acción Sign In seremos redireccionados a Azure AD B2C para iniciar sesión. Una vez el usuario ha sido autenticado exitosamente, veremos el nombre del usuario junto con la acción Sign Out.

Home aplicación web MVC con Cierre de Sesión
Home aplicación web MVC con Cierre de Sesión

Si ahora clicamos en la acción Sign out seremos redireccionados primero a Azure AD B2C, donde limpiaran las cookies de sesión y finalmente a la página de confirmación de cierre de sesión.

Home aplicación web MVC confirmación de Cierre de Sesión
Home aplicación web MVC confirmación de Cierre de Sesión

El redireccionamiento hacia Azure AD B2C y posteriormente hacia la página de confirmación de cierre de sesión suele ser muy rápido, en términos prácticos es imperceptible.

Conclusión

En este post vimos cómo integrar Azure AD B2C con aplicaciones Web MVC .Net 5 en forma fácil y rápida, incluyendo inicio y cierre de sesión.

Podrás encontrar el código completo en mi GitHub.

Azure AD B2C + .Net 5 – Global Azure 2021 Latam

Como suele suceder todos los años, a mediados de Abril se celebra uno de los eventos más importantes a nivel global de la comunidad de Azure: el Global Azure.

Durante 3 días, comunidades de todo el mundo organizan en forma local charlas y workshops totalmente abiertos y gratuitos, donde los participantes pueden aprender y conocer más sobre el mundo Azure de la mano de distintos Líderes y expertos.

Este año tuve el placer (y por partida doble) de participar en la edición Latinoamérica con un colega y amigo experto en la materia, Jorge Levy.

Hemos compartido nuestra experiencia sobre el poder y simpleza de Azure AD B2C y cuál fácil es integrarlo con aplicaciones Web MVC .Net 5 y Web API .Net 5.

Configuración e Implementación de Azure AD B2C con .Net 5

En la actualidad, casi cualquier aplicación requiere que los usuarios puedan autenticarse, sin embargo, implementar un mecanismo de autenticación seguro y confiable requiere mucho conocimiento y tiempo, incluso teniendo experiencia previa.

En esta sesión, te cuento como gracias a este espectacular servicio B2C o Business-To-Clients, podemos ahorrar innumerables horas de desarrollo en implementación y despliegue de soluciones de Autenticación.

Veremos como construir y desplegar, sin necesidad de escribir código y en forma segura, confiable y escalable, un sistema de Inicio de Sesión y Registro de Usuario, incluyendo integración con Redes Sociales y proveedores externos.

Además haremos una integración punta a punta con una aplicación Web MVC .Net 5, Web API .Net 5 e integraremos nuestra Web MVC para poder consumir nuestra Web API en forma rápida y sencilla.

https://www.youtube.com/watch?v=rrJeS2N0X-I&t=14370s

Si quieres ver el código completo de los ejemplos que utilizamos durante la sesión, te dejo el repo de GitHub.

Azure AD B2C – Global Azure 2021 Verona

Como suele suceder todos los años, a mediados de Abril se celebra uno de los eventos más importantes a nivel global de la comunidad de Azure: el Global Azure.

Durante 3 días, comunidades de todo el mundo organizan en forma local charlas y workshops totalmente abiertos y gratuitos, donde los participantes pueden aprender y conocer más sobre el mundo Azure de la mano de distintos Líderes y expertos.

Este año tuve el placer de participar en la edición Verona, donde estuve hablando sobre el poder y simpleza de Azure AD B2C.

Azure AD B2C: una verdadera bala de plata

En la actualidad, casi cualquier aplicación requiere que los usuarios puedan autenticarse, sin embargo, implementar un mecanismo de autenticación seguro y confiable requiere mucho conocimiento y tiempo, incluso teniendo experiencia previa.

En esta sesión, te cuento como gracias a este espectacular servicio B2C o Business-To-Clients, podemos ahorrar innumerables horas de desarrollo en implementación y despliegue de soluciones de Autenticación.

Veremos como construir y desplegar, sin necesidad de escribir código y en forma segura, confiable y escalable, un sistema de Inicio de Sesión y Registro de Usuario, incluyendo integración con Redes Sociales y proveedores externos, soporte para múltiples idiomas, personalización de marca y mucho más.

Azure AD B2C: Areal silver bullet by Facu The Rock

Si querés conocer un poco más sobre este servicio, podes ver una serie de artículos que escribí en forma de tutorías muy detalladas y paso a paso.

© 2021 Facu The Rock

Tema por Anders NorenArriba ↑