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
- Compte Azure avec un abonnement actif. Si vous n’en avez pas déjà un, créez un compte gratuitement.
- Configuration minimale requise : Kit de développement logiciel (SDK) .NET 6.0
- Visual Studio 2022 ou Visual Studio Code
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.
Connectez-vous au centre d’administration Microsoft Entra.
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.
Accédez à Identité>Applications>Inscriptions d’applications, puis sélectionnez Nouvelle inscription.
Entrez un Nom pour l’application, par exemple identity-client-daemon-app.
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.
Sélectionnez Inscrire.
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.
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
- Dans le centre d’administration Microsoft Entra, accédez à Identité>Applications>Inscriptions d’applications.
- Sélectionnez l’application que vous avez inscrite précédemment.
- Dans le volet Vue d’ensemble de l’application, sélectionnez Certificats et secrets>Nouveau secret client.
- Entrez une description pour le secret dans le champ Description.
- Sélectionnez une période d’expiration pour le secret.
- Sélectionnez Ajouter.
- 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
Dans votre IDE, ouvrez le dossier de projet ms-identity-docs-code-dotnet/console-daemon qui contient l’exemple.
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 valeurApplication (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 valeurObject ID
enregistrée précédemment dans la page de présentation de l’application inscrite.
Exécution de l'application
Dans un terminal, accédez au répertoire du projet, ms-identity-docs-code-dotnet/console-daemon.
Exécutez la commande suivante pour générer et exécuter l’application :
dotnet run
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, ... }
Contenu connexe
- Apprenez en générant cette application web ASP.NET avec la série Tutoriel : inscrire une application avec la plateforme d’identités Microsoft.
- Démarrage rapide : Protéger une API web ASP.NET Core avec la plateforme d’identités Microsoft.
- Démarrage rapide : déployer une application web ASP.NET sur Azure App Service