Compartir a través de


Tutorial: Configuración de una aplicación web de ASP.NET Core que autentica a los usuarios

Se aplica a:Círculo verde con un símbolo de marca de verificación blanca. inquilinos de personal Círculo verde con un símbolo de marca de verificación blanca. inquilinos externos (más información)

En este tutorial, creará una aplicación web ASP.NET Core y la configurará para la autenticación. Esta es la parte 1 de una serie que muestra cómo crear una aplicación web ASP.NET Core y prepararla para la autenticación mediante el Centro de administración de Microsoft Entra. Esta aplicación se puede usar para los empleados de un inquilino de personal o para los clientes que usan un inquilino externo.

En este tutorial, harás lo siguiente:

  • Creación de una aplicación web de ASP.NET Core
  • Creación de un certificado autofirmado
  • Configure las opciones de la aplicación
  • Define la configuración y las direcciones URL de la plataforma

Prerrequisitos

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita. Esta cuenta debe tener permisos para administrar aplicaciones. Usar cualquiera de los siguientes roles necesarios para registrar la aplicación:
    • Administrador de aplicaciones
    • Desarrollador de aplicaciones
  • Aunque se puede usar cualquier entorno de desarrollo integrado (IDE) que admita aplicaciones ASP.NET Core, en este tutorial se usa Visual Studio Code. Puede descargarlo aquí.
  • Se necesita como mínimo el SDK de NET 8.0.
  • Un certificado de desarrollador ASP.NET Core. Instalación de uno mediante dotnet dev-certs

Creación de un proyecto de ASP.NET Core

En esta sección, creará un proyecto de ASP.NET Core en Visual Studio Code.

  1. Abra Visual Studio Code y seleccione Abrir carpeta > .... Vaya a y seleccione la ubicación en la que se va a crear el proyecto.

  2. Abra una terminal nueva seleccionando Terminal > Crear terminal.

  3. Escriba el siguiente comando para crear un proyecto de Controlador de vista de modelos (MVC) ASP.NET Core.

    dotnet new mvc -n identity-client-web-app
    

Instalación de paquetes de identidad

Esta aplicación usa Microsoft.Identity.Web y se debe instalar el paquete NuGet relacionado.

Use el siguiente fragmento de código para cambiar a la nueva carpeta identity-client-web-app e instalar el paquete NuGet correspondiente:

cd identity-client-web-app
dotnet add package Microsoft.Identity.Web.UI

Configuración de la aplicación para la autenticación

Los valores registrados en la configuración de la aplicación se usan para configurar la aplicación para la autenticación. El archivo de configuración, appsettings.json, se usa para almacenar la configuración de la aplicación usada durante el tiempo de ejecución.

Actualizar el archivo de configuración

En el IDE, abra appsettings.json y reemplace el contenido del archivo por el siguiente fragmento de código. Reemplace el texto entre comillas por los valores que se registraron anteriormente.

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "Enter_the_Tenant_Id_Here",
    "ClientId": "Enter_the_Application_Id_Here",
    "ClientCertificates": [
      {
        "SourceType": "StoreWithThumbprint",
        "CertificateStorePath": "CurrentUser/My",
        "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
      }   
    ],
    "CallbackPath": "/signin-oidc"
  },
    "DownstreamApi": {
      "BaseUrl": "https://graph.microsoft.com/v1.0/",
      "RelativePath": "me",
      "Scopes": [ 
        "user.read" 
      ]
    },
    "Logging": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft.AspNetCore": "Warning"
      }
    },
    "AllowedHosts": "*"
  }
  • Instance - El punto de conexión de autenticación. Consulte los diferentes puntos de conexión disponibles en nubes nacionales.
  • TenantId: identificador del inquilino donde se registra la aplicación. Reemplace el texto entre comillas por el valor de identificador del directorio (inquilino) que se registró anteriormente en la página de información general de la aplicación registrada.
  • ClientId: el identificador de la aplicación, también conocido como el cliente. Reemplace el texto entre comillas por el valor de identificador de la aplicación (cliente) que se registró anteriormente en la página de información general de la aplicación registrada.
  • ClientCertificates: se usa un certificado autofirmado para la autenticación en la aplicación. Reemplace el texto del CertificateThumbprint por la huella digital del certificado que se registró anteriormente. No use un certificado autofirmado para aplicaciones de producción.
  • CallbackPath - Es un identificador para ayudar al servidor a redirigir una respuesta a la aplicación adecuada.
  • DownstreamApi - Es un identificador que define un punto de conexión para acceder a Microsoft Graph. El URI de la aplicación se combina con el ámbito especificado. Para definir la configuración de una aplicación propiedad de la organización, el valor del Scopes atributo es ligeramente diferente.

Actualización del URI de redirección

A partir de los requisitos previos, el URI de redirección se establece en https://localhost:5001/signin-oidc. Esto debe actualizarse en la configuración de inicio de la aplicación. Puede usar el URI de redireccionamiento que se crea durante la configuración de la aplicación local o cualquier otro número de puerto disponible, siempre que coincida con el URI de redirección en el registro de la aplicación.

  1. En la carpeta Propiedades, abra el archivo launchSettings.json.

  2. Busque el objeto https y actualice el valor de applicationURI con el número de puerto correcto, en este caso, 5001. La línea debe tener un aspecto similar al siguiente fragmento de código:

    "applicationUrl": "https://localhost:5001;http://localhost:{port}",
    

Paso siguiente