Microsoft Graph et identité Microsoft

Effectué

Dans cette unité, l’accent est mis sur l’ID Microsoft Entra. Vous allez apprendre à utiliser le centre d’administration Microsoft Entra pour inscrire une application, configurer les informations d’identification de l’application et configurer le type de l’application. Ensuite, vous allez apprendre à modifier une application MVC ASP.NET existante pour qu’elle fonctionne avec l’ID Microsoft Entra.

Versions du point de terminaison Microsoft Entra

Versions du point de terminaison Microsoft Entra

L’ID Microsoft Entra contient deux points de terminaison d’authentification et de jeton. Le point de terminaison v2 est le point de terminaison recommandé, que toutes les applications qui utilisent Microsoft Graph devraient adopter. Pour comprendre pourquoi, il est utile de savoir quels sont ses avantages par rapport au point de terminaison v1.

Point de terminaison Azure AD v1

Le point de terminaison Azure AD v1 prend uniquement en charge l’authentification Microsoft Entra. Il ne prend pas en charge les autres styles d’authentification comme le compte Microsoft. Cela veut dire que si l’utilisateur se connecte à l’aide d’un compte personnel ou d’un compte client, également connu sous le nom de compte Microsoft, et souhaite accéder à des éléments comme son compte client OneDrive ou Outlook.com, le développeur de l'application doit écrire un code d’authentification spécial pour gérer ces types de comptes. Il s’agit d’un inconvénient du point de terminaison v1, car il prend uniquement en charge le travail dans les comptes scolaires (comptes Microsoft Entra).

Un autre problème du point de terminaison v1 est qu’il prend uniquement en charge le consentement statique. Un consentement statique signifie que toutes les autorisations uniques requises par une application doivent avoir été définies à l’avance et que l’utilisateur, lors de sa première connexion, est tenu d’octroyer son consentement à l’application pour toutes les autorisations.

Point de terminaison Azure AD v2

Le point de terminaison Azure AD v2 corrige ces deux défauts du point de terminaison v1. Tout d’abord, il implémente l’authentification convergée qui fusionne les expériences de connexion du compte Microsoft et du compte professionnel et scolaire (ID Microsoft Entra). Les développeurs n’ont plus besoin de rediriger les utilisateurs vers une expérience de connexion spécifique. Tous les utilisateurs sont envoyés vers l’expérience de connexion convergente et s’appuient sur l’identité Microsoft pour déterminer le type de compte. Cela permet également aux développeurs d’écrire le même code pour accéder à Microsoft Graph afin d’utiliser des éléments tels que la lecture, la messagerie électronique et la récupération de contacts.

Un autre avantage du point de terminaison v2 est le consentement dynamique. Le consentement dynamique diffère du consentement statique. Lorsque l’utilisateur se connecte, l’application demande les autorisations dont elle a besoin à ce moment-là. L’identité Microsoft détermine si l’utilisateur a déjà consenti aux autorisations requises. Si une ou plusieurs de ces autorisations n’ont pas été accordées, une boîte de dialogue de consentement s’affiche pour les nouvelles demandes d’autorisations uniquement.

Le point de terminaison v2 prend également en charge la norme OpenID Connect qui inclut un jeton d’authentification lorsque vous devez vous connecter. Il s’agit d’une extension du protocole d’authentification. Une fois l’utilisateur connecté, celui-ci sera renvoyé dans la demande de connexion à l’application. Le jeton d’authentification contient des informations sur l’utilisateur actuel, comme son adresse de messagerie et son nom. Même si le point de terminaison v1 le prend en charge, le point de terminaison v2 correspond est celui qui correspond le mieux à la spécification OpenID Connect.

Inscrire des applications Microsoft Entra auprès du Centre d’administration Microsoft Entra

Inscription de l’application Microsoft Entra

Toutes les applications qui doivent disposer d’autorisations pour utiliser d’autres applications doivent être inscrites dans l’ID Microsoft Entra. L’inscription de l’application s’effectue via le centre d’administration Microsoft Entra à l’adresse https://aad.portal.azure.com. Le centre d’administration Microsoft Entra n’exige pas que les utilisateurs disposent d’un abonnement Azure payant pour gérer les utilisateurs et les applications. Un utilisateur doit avoir un accès pour la lire et modifier des utilisateurs de groupes, d’applications ou gérer le répertoire. Le centre d’administration unifie les différents portails de gestion des applications, précédemment disponibles pour les développeurs et les administrateurs, sous un même site. À partir de ce portail, vous pouvez gérer les applications créées pour utiliser les points de terminaison d’identité Microsoft v1 et v2.

Les applications personnalisées peuvent utiliser l’une des bibliothèques d’authentification fournies par Microsoft. Chacune des deux bibliothèques est mise à disposition via différents kits de développement de logiciel (SDK), pour chacune des plates-formes et des langues prises en charge par l’identité Microsoft.

Les applications qui utilisent les points de terminaison v2 peuvent utiliser les kits de développement de logiciel (SDK) de la bibliothèque d’authentification Microsoft (MSAL). MSAL a remplacé la bibliothèque précédente, la bibliothèque d’authentification Azure AD (ADAL), qui fonctionne uniquement avec les points de terminaison v1.

Pour les applications intégrées à Microsoft Graph, Microsoft recommande aux développeurs d’utiliser les points de terminaison d’identité Microsoft v2 et donc, d’utiliser la bibliothèque MSAL.

Applications web et identité Microsoft

Dans ce module, nous utilisons une application web ASP.NET MVC pour montrer comment demander et afficher les événements du calendrier d’un utilisateur avec Microsoft Graph. Ce scénario implémente le flux d’octroi de code d’autorisation OAuth 2.0 pour obtenir un jeton d’accès à partir de l’ID Microsoft Entra. Le jeton d’accès est inclus dans chaque requête envoyée à Microsoft Graph pour authentifier l’utilisateur et l’application.

L’application web doit s’authentifier avec l’ID Microsoft Entra lorsqu’elle demande le jeton d’accès. Dans le cadre de la demande de jeton d’accès, l’application doit inclure son ID d’application, également appelé ID client, et un secret. Le secret peut être un certificat x509 ou une chaîne.

L’application web doit également indiquer à l’identité Microsoft, l’adresse de l’application web vers laquelle l’identité Microsoft doit rediriger l’utilisateur vers une connexion réussie. Cette adresse est appelée l’URI de redirection. L’URI de redirection inclus dans la connexion doit correspondre à l’adresse présente dans l’inscription de l’application.

La dernière étape du processus d’inscription de l’application dans le Centre d’administration Microsoft Entra consiste à spécifier les autorisations dont l’application aura besoin. Il peut s’agir d’autorisations déléguées ou d’autorisations d’application. Les autorisations sont déléguées lorsque l’utilisateur permet à l’application d’agir en son nom lorsqu’il est connecté à celle-ci. Les autorisations d’application sont utilisées par l’application quand aucune session utilisateur interactive n’est présente, comme dans le cas d’une application de service ou démon. Les autorisations définies dans le centre d’administration Microsoft Entra sont des autorisations statiques, et non des autorisations dynamiques. Ces autorisations sont présentées aux utilisateurs lorsqu’ils se connectent à l’application pour la première fois dans le cadre du consentement commun, évoqué précédemment.

Résumé

Cette unité s’est concentrée sur l’ID Microsoft Entra et l’inscription de l’application. Vous avez appris à utiliser le Centre d’administration Microsoft Entra pour inscrire une application, configurer les informations d’identification de l’application et configurer le type de l’application. Vous avez également appris à modifier une application ASP.NET MVC existante pour qu’elle fonctionne avec l’ID Microsoft Entra.