Inicio rápido: Inicio de sesión de usuarios y llamada a Microsoft Graph API desde una aplicación web de ASP.NET Core
En este inicio rápido se usa una aplicación web de ejemplo de ASP.NET Core para mostrar cómo conectar usuarios mediante el flujo de código de autorización y llamar a Microsoft Graph API. En el ejemplo se usa la Biblioteca de autenticación de Microsoft para .NET y Microsoft Identity Web para controlar la autenticación.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Si no tiene ninguna cuenta, cree una gratuita.
- Se requiere como mínimo el SDK de NET 6.0.
- Visual Studio 2022 o Visual Studio Code
Registrar la aplicación y los identificadores de registro
Para completar el registro, proporcione un nombre a la aplicación y especifique los tipos de cuenta admitidos. Una vez registrada, el panel Información general de la aplicación muestra los identificadores necesarios en el código fuente de la aplicación.
Inicie sesión en el centro de administración de Microsoft Entra.
Si tiene acceso a varios inquilinos, use el icono Configuración
del menú superior para cambiar al inquilino en el que desea registrar la aplicación desde el menú Directorios y suscripciones.
Vaya a Identity>Aplicaciones>Registros de aplicaciones, seleccione Nuevo registro.
Escriba un nombre para la aplicación, como identity-client-web-app.
Para la opción Tipos de cuenta admitidos, seleccione Solo las cuentas de este directorio organizativo. Para obtener información sobre los distintos tipos de cuenta, selecciona la opción Ayudarme a elegir.
Seleccione Registrar.
El panel Información general de la aplicación se muestra cuando se completa el registro. Registrar el id. de directorio (inquilino) y el id. de aplicación (cliente) que se usará en el código fuente de la aplicación.
Nota:
Los tipos de cuenta admitidos pueden modificarse consultando Modificar las cuentas que admite una aplicación.
Adición de un URI de redireccionamiento de la plataforma
Para especificar el tipo de aplicación en el registro de la aplicación, siga estos pasos:
- En Administrar, seleccione Autenticación.
- En la página Configuraciones de plataforma, seleccione Agregar una plataforma y, a continuación, seleccione la opción Web.
- Para URI de redireccionamiento, escriba
https://localhost:5001/signin-oidc
. - En Dirección URL de cierre de sesión del canal frontal, escriba
https://localhost:5001/signout-callback-oidc
para cerrar sesión. - Selecciona Configurar para guardar los cambios.
Clone o descargue la aplicación de ejemplo
Para obtener la aplicación de ejemplo, puede clonarla desde GitHub o descargarla como archivo .zip.
Para clonar la muestra, abra un símbolo del sistema y navegue hasta donde desea crear el proyecto, e introduzca el siguiente comando:
git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
Descargue el archivo .zip. Extráigalo en una ruta de acceso de archivo donde la longitud del nombre sea inferior a 260 caracteres.
Cree y cargue un certificado autofirmado
Con el terminal, use los siguientes comandos para navegar para crear un certificado autofirmado en el directorio del proyecto.
cd ms-identity-docs-code-dotnet\web-app-aspnet\ dotnet dev-certs https -ep ./certificate.crt --trust
Vuelva al Centro de administración de Microsoft Entra y, en Administrar, seleccione Certificados y secretos>Cargar certificado.
Seleccione la pestaña Certificados (0) y, a continuación, seleccione Cargar certificado.
Aparece un panel Cargar certificado. Use el icono para ir al archivo de certificado que creó en el paso anterior y seleccione Abrir.
Escriba una descripción para el certificado, por ejemplo, Certificado para aspnet-web-app, y seleccione Agregar.
Registre el valor Huella digital para usarlo en el paso siguiente.
Configuración del proyecto
En su IDE, abra la carpeta del proyecto, ms-identity-docs-code-dotnet\web-app-aspnet, que contiene la muestra.
Abra appsettings.json y reemplace el contenido del archivo por el siguiente fragmento de código:
{ "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": "*" }
TenantId
- El identificador del inquilino donde se registra la aplicación. Reemplace el texto entre comillas por elDirectory (tenant) ID
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 deApplication (client) ID
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 deCertificateThumbprint
por la huella digital del certificado que se registró anteriormente.
Ejecute la aplicación e inicie sesión
En el directorio del proyecto, use el terminal para escribir el siguiente comando:
dotnet run
Copie la URL
https
que aparece en el terminal, por ejemplo,https://localhost:5001
, y péguela en un navegador. Recomendamos utilizar una sesión de navegador privada o de incógnito.Siga los pasos e introduzca los datos necesarios para iniciar sesión con su cuenta Microsoft. Se le pedirá que proporcione una dirección de correo electrónico para que se pueda enviar un código de acceso de una sola vez. Introduzca el código cuando se le solicite.
La aplicación solicita permiso para mantener el acceso a los datos a los que usted le haya dado acceso, así como para iniciar sesión y leer su perfil. Seleccione Aceptar.
Aparece la siguiente captura de pantalla, que indica que ha iniciado sesión en la aplicación y ha accedido a los detalles de su perfil desde Microsoft Graph API.
Cerrar la sesión en la aplicación
- Busque el enlace Cerrar sesión en la esquina superior derecha de la página y selecciónelo.
- Se le pide que elija una cuenta para cerrar sesión. Seleccione la cuenta que utilizó para iniciar sesión.
- Aparecerá un mensaje indicando que ha cerrado la sesión. Ahora puede cerrar la ventana del explorador.
Contenido relacionado
- Aprenda mediante la compilación de esta aplicación web de ASP.NET con la serie Tutorial: Registro de una aplicación con la plataforma de identidad de Microsoft.
- Inicio rápido: Protección de una API web de ASP.NET Core con la plataforma de identidad de Microsoft.
- Inicio rápido: Implementación de una aplicación web de ASP.NET en Azure App Service