Tutorial: Creación de una aplicación Blazor Server que usa la plataforma de identidad de Microsoft para la autenticación

En este tutorial, va a crear una aplicación de Blazor Server que inicia la sesión de usuario y obtiene datos de Microsoft Graph mediante la Plataforma de identidad de Microsoft y el registro de la aplicación en Microsoft Entra ID.

También tenemos un inicio rápido para Blazor WASM.

En este tutorial, aprenderá a:

  • Cree una nueva aplicación Blazor Server configurada para utilizar Microsoft Entra ID para la autenticación de usuarios en una única organización (en el inquilino de Microsoft Entra en el que está registrada la aplicación)
  • Control de la autenticación y la autorización mediante Microsoft.Identity.Web
  • Recuperar datos de una API web protegida, Microsoft Graph.

Requisitos previos

Creación de la aplicación mediante la CLI de .NET

mkdir <new-project-folder>
cd <new-project-folder>
dotnet new blazorserver --auth SingleOrg --calls-graph

Instala la herramienta .NET de Sincronización de aplicaciones de identidad de Microsoft

dotnet tool install --global msidentity-app-sync

Esta herramienta automatiza las siguientes tareas:

  • Registro de la aplicación en Microsoft Entra ID
    • Cree un secreto para una aplicación registrada
    • Registre los URI de redirección basándose en su launchsettings.json
  • Inicialización del uso de secretos de usuario en el proyecto
  • Almacene el secreto de su aplicación en el almacén de secretos de usuario
  • Actualice appsettings.json con client-id, tenant-id y otros.

Las herramientas de .NET amplían las funcionalidades del comando dotnet CLI. Para más información, consulte Herramientas de .NET.

Para obtener más información sobre el almacenamiento de secretos de usuario, consulta Almacenamiento seguro de secretos de aplicación durante el desarrollo.

Uso de la herramienta de sincronización de aplicaciones de identidad de Microsoft

Ejecute el siguiente comando para registrar la aplicación en el inquilino y actualizar la configuración de .NET de la aplicación. Proporcione el nombre de usuario o upn que pertenece a su cuenta de Azure (por ejemplo, username@domain.com) y el identificador de inquilino o el nombre de dominio de Microsoft Entra ID asociado a su cuenta de Azure.

msidentity-app-sync --username <username/upn> --tenant-id <tenantID>

Nota:

  • No es necesario proporcionar el nombre de usuario si ha iniciado sesión solo con una cuenta en las herramientas de desarrollo.
  • No es necesario proporcionar el identificador de inquilino si el inquilino en el que desea crear la aplicación es el inquilino principal.

Opcional: creación de un certificado SSL de desarrollo

Para evitar errores o advertencias de SSL al examinar la aplicación en ejecución, puede usar lo siguiente en macOS y Windows para generar un certificado SSL autofirmado para que lo use .NET.

dotnet dev-certs https --trust

Ejecutar la aplicación

Ejecute el comando siguiente en el terminal:

dotnet run

Vaya a la aplicación web en ejecución mediante la dirección URL que genera la línea de comandos.

Pasos siguientes

Para más información, cree una aplicación web de ASP.NET Core que inicie la sesión de los usuarios con la siguiente serie de tutoriales de varias partes: