Compartir vía


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

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.

  1. Inicie sesión en el centro de administración de Microsoft Entra.

  2. 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.

  3. Vaya a Identity>Aplicaciones>Registros de aplicaciones, seleccione Nuevo registro.

  4. Escriba un nombre para la aplicación, como identity-client-daemon-app.

  5. 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.

  6. Seleccione Registrar.

    Captura de pantalla en la que se muestra cómo escribir un nombre y seleccionar el tipo de cuenta en el Centro de administración Microsoft Entra.

  7. 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.

    Captura de pantalla en la que se muestran los valores de identificador en la página de información general en el Centro de administración Microsoft Entra.

    Nota:

    Los tipos de cuenta admitidos pueden modificarse consultando Modificar las cuentas que admite una aplicación.

Creación de un secreto de cliente

  1. En el Centro de administración de Microsoft Entra, vaya a Identidad>Aplicaciones>Registros de aplicaciones.
  2. Seleccione la aplicación que registró anteriormente.
  3. En el panel Información general de la aplicación, seleccione Certificados y secretos>Nuevo secreto de cliente.
  4. Escriba una descripción para el secreto en el campo Descripción.
  5. Seleccione un período de expiración para el secreto.
  6. Seleccione Agregar.
  7. 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

  1. En su IDE, abra la carpeta del proyecto, ms-identity-docs-code-dotnet/console-daemon, que contiene la muestra.

  2. 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 de Application (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 de Object ID que se registró anteriormente en la página de información general de la aplicación registrada.

Ejecución de la aplicación

  1. En un terminal, vaya al directorio del proyecto, ms-identity-docs-code-dotnet/console-daemon.

  2. Ejecute el siguiente comando para compilar y ejecutar la aplicación:

    dotnet run
    
  3. 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,
    ...
    }