Tutoriel : Préparer votre locataire externe à autoriser une application démon .NET
Dans cette série de tutoriels, vous allez apprendre à créer une application démon .NET qui appelle votre propre API web protégée personnalisée en utilisant ID externe Microsoft Entra. Vous allez enregistrer une application dans Microsoft Entra ID et authentifier votre application avec votre locataire externe. Enfin, vous allez exécuter l’application, puis tester les expériences de connexion et de déconnexion.
- Inscrivez une API web et configurez les autorisations d’application au centre d’administration Microsoft Entra.
- Inscrivez une application démon cliente et accordez-lui des autorisations d’application dans le Centre d’administration Microsoft Entra
- Créez une clé secrète client pour votre application démon dans le Centre d’administration Microsoft Entra.
Prérequis
- ID Microsoft Entra pour le locataire externe. Si vous n’en avez pas, créez un locataire d’essai ou un locataire avec un abonnement avant de commencer.
- Ce compte Azure doit disposer des autorisations nécessaires pour gérer des applications. Les rôles Microsoft Entra suivants incluent les autorisations requises :
- Administrateur d’application
- Développeur d’applications
- Administrateur d'applications cloud
Inscrire une application d’API web
Connectez-vous au centre d’administration de Microsoft Entra au minimum en tant que Développeur d’application.
Si vous avez accès à plusieurs tenants, utilisez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant externe depuis le menu Répertoires + abonnements.
Accédez à Identité>Applications>Inscriptions d’applications.
Sélectionnez + Nouvelle inscription.
Dans la page Inscrire une application qui s’affiche, entrez les informations relatives à l’inscription de votre application :
Dans la section Nom, entrez un nom d’application significatif qui s’affiche pour les utilisateurs de l’application, par exemple, ciam-ToDoList-api.
Sous Types de comptes pris en charge, sélectionnez Comptes dans cet annuaire organisationnel uniquement.
Sélectionnez Inscrire pour créer l’application.
Le Vue d’ensemble de l’application s’affiche une fois l’inscription terminée. Enregistrez l’ID du répertoire (locataire) et l’ID d’application (client) à utiliser dans le code source de votre application.
Configurer les rôles d’application
Une API doit publier au moins un rôle d’application pour les applications, également appelé Autorisation d’application, pour que les applications clientes obtiennent un jeton d’accès en leur nom. Les autorisations d’application sont le type d’autorisations que les API doivent publier lorsqu’elles souhaitent permettre aux applications clientes de s’authentifier correctement en tant qu’elles-mêmes et qu’elles n’ont pas besoin de connecter des utilisateurs. Pour publier une autorisation d'application, procédez comme suit :
Dans la page Inscriptions d’applications, sélectionnez l’application que vous avez créée (par exemple, ciam-ToDoList-api) pour ouvrir sa page Vue d’ensemble.
Sous Gérer, sélectionnez Rôles d’applications.
Sélectionnez Créer un rôle d'application, puis saisissez les valeurs suivantes, puis sélectionnez Appliquer pour enregistrer vos modifications :
Propriété Value Nom complet ToDoList.Read.All Types de membres autorisés Applications Valeur ToDoList.Read.All Description Autoriser l'application à lire la liste de tâches de chaque utilisateur à l'aide de 'TodoListApi' Sélectionnez à nouveau Créer un rôle d'application, puis saisissez les valeurs suivantes pour le deuxième rôle d'application, puis sélectionnez Appliquer pour enregistrer vos modifications :
Propriété Value Nom complet ToDoList.ReadWrite.All Types de membres autorisés Applications Valeur ToDoList.ReadWrite.All Description Autoriser l’application à lire et écrire la liste ToDo de chaque utilisateur à l’aide de « TodoListApi »
Configurer une revendication de jeton idtyp
Vous pouvez utiliser la revendication facultative idtyp pour aider l’API web à déterminer si un jeton est un jeton d’application ou un jeton application + utilisateur. Même si vous pouvez utiliser une combinaison de revendications scp et de rôles dans le même but, l’utilisation de la revendication idtyp est le moyen le plus simple de distinguer un jeton d’application d’un jeton application + utilisateur. Par exemple, la valeur de cette revendication est app lorsque le jeton est un jeton d'application uniquement.
Enregistrer l'application démon
Pour permettre à votre application de connecter des utilisateurs avec Microsoft Entra, lD externe Microsoft Entra doit être informé de l’existence de l’application que vous créez. L’inscription d’application établit une relation de confiance entre l’application et Microsoft Entra. Lorsque vous enregistrez une application, l'ID externe génère un identifiant unique appelé ID d'application (client), une valeur utilisée pour identifier votre application lors de la création de demandes d'authentification.
Les étapes suivantes vous montrent comment inscrire votre application dans le centre d’administration Microsoft Entra :
Connectez-vous au centre d’administration de Microsoft Entra au minimum en tant que Développeur d’application.
Si vous avez accès à plusieurs tenants, utilisez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant externe depuis le menu Répertoires + abonnements.
Accédez à Identité>Applications>Inscriptions d’applications.
Sélectionnez + Nouvelle inscription.
Dans la page Inscrire une application qui s’affiche ;
- Dans Nom, entrez un nom d’application explicite qui va être présenté aux utilisateurs de l’application, par exemple ciam-client-app.
- Sous Types de comptes pris en charge, sélectionnez Comptes dans cet annuaire organisationnel uniquement.
Sélectionnez Inscription.
Le volet Vue d’ensemble de l’application s’affiche après une inscription réussie. Enregistrez l’ID d’application (client) à utiliser dans le code source de votre application.
Créer une clé secrète client
Créez un secret client pour l’application inscrite. L’application utilise la clé secrète client pour prouver son identité quand elle demande des jetons.
- Dans la page inscriptions d’applications, sélectionnez l’application que vous avez créée (par exemple, ciam-client-app) pour ouvrir sa page Vue d’ensemble.
- Sous Gérer, sélectionnez Certificats et secrets.
- Sélectionnez Nouveau secret client.
- Entrez une description pour la clé secrète client dans la zone Description (par exemple clé secrète client ciam).
- Sous Expire, sélectionnez la durée de validité de la clé secrète (en fonction des règles de sécurité de votre organisation), puis sélectionnez Ajouter.
- Enregistrez la Valeur du secret. Vous utiliserez cette valeur pour la configuration dans une étape ultérieure. La valeur du secret ne sera plus affichée et sera irrécupérable une fois que vous quittez les Certificats et secrets. Veillez à l’enregistrer.
Accorder des autorisations d’API à l’application démon
Dans la page Inscriptions d’applications, sélectionnez l’application que vous avez créée, par exemple, ciam-client-app.
Sous Gérer, sélectionnez Autorisations de l’API.
Sous Autorisations configurées, sélectionnez Ajouter une autorisation.
Sélectionnez l’onglet API utilisées par mon organisation.
Dans la liste des API, sélectionnez l’API, par exemple ciam-ToDoList-api.
Sélectionnez l’option Autorisations de l’application. Nous sélectionnons cette option, car l’application se connecte en tant que telle, mais pas au nom d’un utilisateur.
Dans la liste des autorisations, sélectionnez TodoList.Read.All, ToDoList.ReadWrite.All (utilisez la zone de recherche si nécessaire).
Sélectionnez le bouton Ajouter des autorisations.
À ce stade, vous avez attribué les autorisations correctement. Toutefois, étant donné que l’application démon ne permet pas aux utilisateurs d’interagir avec elle, les utilisateurs eux-mêmes ne peuvent pas consentir à ces autorisations. Pour résoudre ce problème, en tant qu’administrateur, vous devez consentir à ces autorisations au nom de tous les utilisateurs du locataire :
- Sélectionnez Accorder le consentement administrateur pour <nom de votre locataire>, puis sélectionnez Oui.
- Sélectionnez Actualiser, puis vérifiez que Accordé pour <nom de votre locataire> s’affiche sous État pour les deux autorisations.
Enregistrez les détails d'enregistrement de votre application
L’étape suivante après ce didacticiel consiste à créer une application démon qui appelle votre API web. Assurez-vous que les éléments suivants sont présents :
- L’ID d’application (client) de l’application démon cliente que vous avez inscrite.
- Le sous-domaine de répertoire (locataire) dans lequel vous avez inscrit votre application démon. Si vous ne disposez pas du nom de votre locataire, découvrez de quelle manière consulter les détails de votre locataire.
- La valeur secrète de l'application pour l'application démon que vous avez créée.
- L’ID d’application (client) de l’application API web que vous avez inscrite.