Démarrage rapide : Application console .NET qui accède à une API web protégée

Ce guide de démarrage rapide utilise un exemple d’application console .NET pour accéder à une API web protégée en tant qu’identité à l’aide de Microsoft Authentication Library (MSAL) pour .NET. L’application est une application démon, qui est une application cliente confidentielle et qui utilise le flux OAuth des informations d’identification du client pour obtenir un jeton d’accès visant à appeler l’API Microsoft Graph.

Prérequis

Inscrire l’application et enregistrer les identificateurs

Pour terminer l’inscription, fournissez un nom à l’application et spécifiez les types de comptes pris en charge. Une fois l’inscription terminée, le volet Vue d’ensemble de l’application affiche les identificateurs nécessaires dans le code source de l’application.

  1. Connectez-vous au centre d’administration Microsoft Entra.

  2. Si vous avez accès à plusieurs tenants, utilisez l’icône Paramètres dans le menu supérieur pour basculer vers le tenant dans lequel vous voulez inscrire l’application à partir du menu Répertoires + abonnements.

  3. Accédez à Identité>Applications>Inscriptions d’applications, puis sélectionnez Nouvelle inscription.

  4. Entrez un Nom pour l’application, par exemple identity-client-daemon-app.

  5. Pour les Types de comptes pris en charge, sélectionnez Comptes dans cet annuaire organisationnel. Pour plus d’informations sur les différents types de comptes, sélectionnez l’option M’aider à choisir.

  6. Sélectionnez Inscrire.

    Capture d’écran illustrant la saisie d’un nom et la sélection d’un type de compte dans le centre d’administration Microsoft Entra.

  7. Le Vue d’ensemble de l’application s’affiche une fois l’inscription terminée. Enregistrez l’ID d’annuaire (locataire), l’ID d’application (client) et l’ID d’objet à utiliser dans le code source de votre application.

    Capture d’écran illustrant les valeurs d’identificateurs sur la page Vue d’ensemble du centre d’administration Microsoft Entra.

    Remarque

    Il est possible de modifier les Types de comptes pris en charge. Pour cela, reportez-vous à Modifier les comptes pris en charge par une application.

Créer une clé secrète client

  1. Dans le centre d’administration Microsoft Entra, accédez à Identité>Applications>Inscriptions d’applications.
  2. Sélectionnez l’application que vous avez inscrite précédemment.
  3. Dans le volet Vue d’ensemble de l’application, sélectionnez Certificats et secrets>Nouveau secret client.
  4. Entrez une description pour le secret dans le champ Description.
  5. Sélectionnez une période d’expiration pour le secret.
  6. Sélectionnez Ajouter.
  7. Enregistrez la Valeur du secret client. La valeur ne s’affiche qu’une seule fois, donc veillez à l’enregistrer.

Cloner ou télécharger l’exemple d’application

Pour obtenir l’exemple d’application, vous pouvez le cloner à partir de GitHub ou le télécharger sous la forme d’un fichier .zip.

  • Pour cloner l’exemple, ouvrez une invite de commandes, accédez à l’emplacement où vous souhaitez créer le projet, puis entrez la commande suivante :

    git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
    
  • Téléchargez le fichier .zip. Extrayez-la dans un chemin d’accès de fichier où la longueur du nom est inférieure à 260 caractères.

Configurer le projet

  1. Dans votre IDE, ouvrez le dossier de projet ms-identity-docs-code-dotnet/console-daemon qui contient l’exemple.

  2. Ouvrez Program.cs et remplacez le contenu du fichier par l’extrait de code suivant :

     // 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 : L’autorité est une URL indiquant un annuaire dont la bibliothèque d’authentification Microsoft peut demander des jetons. Remplacez Enter_the_tenant_ID par la valeur d’ID d’annuaire (locataire) enregistrée précédemment.
    • ClientId – Identificateur de l’application, également appelé client. Remplacez le texte entre guillemets par la valeur Application (client) ID enregistrée précédemment dans la page de présentation de l’application inscrite.
    • ClientSecret – Secret client créé pour l’application dans le centre d’administration Microsoft Entra. Entrez la valeur du secret client.
    • ClientObjectId – ID d’objet de l’application cliente. Remplacez le texte entre guillemets par la valeur Object ID enregistrée précédemment dans la page de présentation de l’application inscrite.

Exécution de l'application

  1. Dans un terminal, accédez au répertoire du projet, ms-identity-docs-code-dotnet/console-daemon.

  2. Exécutez la commande suivante pour générer et exécuter l’application :

    dotnet run
    
  3. L’application s’exécute et affiche une réponse similaire à la suivante (raccourcie pour rester bref) :

    {
    "@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,
    ...
    }