Inicio rápido: aplicación de consola de .NET que accede a una API web protegida
En este inicio rápido se usa una aplicación de consola de .NET de ejemplo para acceder a una API web protegida como su propia identidad mediante la biblioteca de autenticación de Microsoft (MSAL) de Microsoft para .NET. La aplicación es una aplicación de demonio, que es una aplicación cliente confidencial y usa las flujo de OAuth de credenciales de cliente para obtener un token de acceso para llamar a Microsoft Graph API.
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-daemon-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. Registre el id. de directorio (inquilino), el id. de aplicación (cliente) y el id. de objeto 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.
Creación de un secreto de cliente
- En el Centro de administración de Microsoft Entra, vaya a Identidad>Aplicaciones>Registros de aplicaciones.
- Seleccione la aplicación que registró anteriormente.
- En el panel Información general de la aplicación, seleccione Certificados y secretos>Nuevo secreto de cliente.
- Escriba una descripción para el secreto en el campo Descripción.
- Seleccione un período de expiración para el secreto.
- Seleccione Agregar.
- Registre el Valor del secreto de cliente. El valor solo se muestra una vez, por lo que debe asegurarse de grabarlo.
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.
Configuración del proyecto
En su IDE, abra la carpeta del proyecto, ms-identity-docs-code-dotnet/console-daemon, que contiene la muestra.
Abra Program.cs y sustituya el contenido del archivo por el siguiente fragmento de código;
// Full directory URL, in the form of https://login.microsoftonline.com/<tenant_id> Authority = " https://login.microsoftonline.com/Enter_the_tenant_ID_obtained_from_the_Microsoft_Entra_admin_center", // 'Enter the client ID obtained from the Microsoft Entra admin center ClientId = "Enter the client ID obtained from the Microsoft Entra admin center", // Client secret 'Value' (not its ID) from 'Client secrets' in the Microsoft Entra admin center ClientSecret = "Enter the client secret value obtained from the Microsoft Entra admin center", // Client 'Object ID' of app registration in Microsoft Entra admin center - this value is a GUID ClientObjectId = "Enter the client Object ID obtained from the Microsoft Entra admin center"
Authority
: la autoridad es una dirección URL que indica un directorio desde el que MSAL puede solicitar tokens. Reemplace Enter_the_tenant_ID por el valor de Identificador de directorio (inquilino) que se registró anteriormente.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.ClientSecret
: el secreto de cliente creado para la aplicación en el Centro de administración de Microsoft Entra. Escriba el valor del secreto de cliente.ClientObjectId
: el id. de objeto de la aplicación cliente. Reemplace el texto entre comillas por el valor deObject ID
que se registró anteriormente en la página de información general de la aplicación registrada.
Ejecución de la aplicación
En un terminal, vaya al directorio del proyecto, ms-identity-docs-code-dotnet/console-daemon.
Ejecute el siguiente comando para compilar y ejecutar la aplicación:
dotnet run
La aplicación se ejecuta y muestra una respuesta similar a la siguiente (acortada para mayor brevedad):
{ "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications/$entity", "id": "00001111-aaaa-2222-bbbb-3333cccc4444", "deletedDateTime": null, "appId": "00001111-aaaa-2222-bbbb-3333cccc4444", "applicationTemplateId": null, "disabledByMicrosoftStatus": null, "createdDateTime": "2021-01-17T15:30:55Z", "displayName": "identity-dotnet-console-app", "description": null, "groupMembershipClaims": null, ... }
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