Tutorial: Preparación de una aplicación para la autenticación

En el tutorial anterior, registró una aplicación web en el Centro de administración Microsoft Entra. En este tutorial se muestra cómo crear una aplicación web de ASP.NET Core mediante un IDE. También creará y cargará un certificado autofirmado en el Centro de administración Microsoft Entra para proteger la aplicación. Finalmente, configurará la aplicación para la autenticación.

En este tutorial, aprenderá a:

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

Prerrequisitos

Crear un proyecto de ASP.NET Core

Use las pestañas siguientes para crear un proyecto de ASP.NET Core dentro de un IDE.

  1. Abra Visual Studio y seleccione Crear un proyecto.
  2. Busque la plantilla Aplicación web de ASP.NET Core, selecciónela y, luego, seleccione Siguiente.
  3. Escriba un nombre para el proyecto, como NewWebAppLocal.
  4. Elija una ubicación para el proyecto o acepte la opción predeterminada y, luego, seleccione Siguiente.
  5. Acepte el valor predeterminado para el .NET Framework, tipo de autenticación y Configurar para HTTPS. El tipo de autenticación se puede establecer en Ninguno, ya que este tutorial trata este proceso.
  6. Seleccione Crear.

Cree y cargue un certificado autofirmado

El uso de certificados es una manera sugerida de proteger la comunicación entre el cliente y el servidor. Para este tutorial, se creará un certificado autofirmado en el directorio del proyecto. Obtenga más información sobre los certificados autofirmados aquí.

  1. Seleccione Herramientas > Línea de comandos > Símbolo del sistema para desarrolladores.

  2. Escriba el comando siguiente para crear un certificado autofirmado:

    dotnet dev-certs https -ep ./certificate.crt --trust
    

Descarga del certificado al Centro de administración Microsoft Entra

Para que el certificado esté disponible para la aplicación, debe cargarse en el inquilino.

  1. A partir de la página Información general de la aplicación creada anteriormente, en Administrar, seleccione Certificados y secretos y seleccione la pestaña Certificados (0).

  2. Seleccione Cargar certificado.

    Captura de pantalla de la carga de un certificado en un inquilino de Microsoft Entra.

  3. Seleccione el icono Carpeta y busque y seleccione el certificado que se creó anteriormente.

  4. Escriba una descripción para el certificado y seleccione Agregar.

  5. Registre el valor Huella digital, que se usará en el paso siguiente.

    Captura de pantalla que muestra la copia de la huella digital del certificado.

Configuración de la aplicación para la autenticación y la referencia de API

Los valores registrados anteriormente se usarán para configurar la aplicación para la autenticación. El archivo de configuración, appsettings.json, se utiliza para almacenar la configuración de la aplicación usada durante el tiempo de ejecución. Como la aplicación también llamará a una API web, también debe contener una referencia a ella.

  1. 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 obtained from the Microsoft Entra admin center",
      "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
      "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 - El 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 denominado cliente. 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.
    • ClientCertificates - Se usa un certificado autofirmado para la autenticación en la aplicación. Reemplace el texto de CertificateThumbprint por la huella digital del certificado que se registró anteriormente.
    • 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.
  2. Guarde los cambios realizados en el archivo.

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

  4. Busque y registre el https valor applicationURI en launchSettings.json, por ejemplo https://localhost:{port}. Esta dirección URL se usará al definir el URI de redirección. No use el valor http.

Adición de un URI de redireccionamiento de la plataforma

  1. En Centro de administración Microsoft Entra, en Administrar, seleccione Registros de aplicaciones y, a continuación, seleccione la aplicación que se creó anteriormente.

  2. En el menú izquierdo, en Administrar, seleccione Autenticación.

  3. En Configuraciones de plataforma, seleccione Agregar una plataforma y, a continuación, seleccione Web.

    Captura de pantalla sobre cómo seleccionar la plataforma de la aplicación.

  4. En URI de redirección, escriba el applicationURL y el CallbackPath, /signin-oidc, en forma de https://localhost:{port}/signin-oidc.

  5. En Dirección URL de cierre de sesión del canal frontal, escriba la siguiente dirección URL para cerrar sesión, https://localhost:{port}/signout-oidc.

  6. Seleccione Configurar.

Pasos siguientes