Tutoriel : préparer votre locataire externe à autoriser une application démon .Node.js
Cette série de tutoriels montre comment créer une application cliente démon Node.js et la préparer à l’authentification dans le centre d’administration Microsoft Entra. Vous allez utiliser le flux d’octroi des informations d’identification du client Open Authorization(OAuth) 2.0, puis le configurer pour acquérir un jeton d’accès pour appeler une API web.
Dans ce tutoriel,
- Inscrire une API web dans le centre d’administration Microsoft Entra, puis enregistrer ses identificateurs
- Configurer des rôles d’application pour l’API web
- Inscrire une application démon cliente
- Accorder des autorisations d’API à l’application démon
- Créer une clé secrète client pour votre application démon
Si vous avez déjà enregistré une application démon client et une API Web dans le centre d'administration Microsoft Entra, vous pouvez ignorer les étapes de ce didacticiel, puis passer à Acquérir un jeton d'accès pour appeler une API.
Prérequis
- Un client externe. Pour en créer un, choisissez l’une des méthodes suivantes :
- (Recommandé) Utilisez l’extension ID externe Microsoft Entra pour configurer un locataire externe directement dans Visual Studio Code.
- Créez un locataire externe dans le centre d’administration Microsoft Entra.
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.
Collectez les détails d'enregistrement de votre application
Dans l'étape suivante, vous préparez votre application d'application démon. Assurez-vous d'avoir les informations suivantes :
- 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.