Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Certaines autorisations nécessitent le consentement d’un administrateur avant de pouvoir être accordées au sein d’un locataire. Vous pouvez également utiliser le point de terminaison de consentement administrateur pour accorder des autorisations à un locataire entier.
Recommandé : connecter l’utilisateur à votre application
En général, lorsque vous créez une application qui utilise le point de terminaison de consentement de l’administrateur, l’application doit disposer d’une page ou vue dans laquelle l’administrateur peut approuver ses autorisations. Cette page peut faire partie du flux de connexion de l'application, des paramètres de l'application, ou peut être un flux de « connexion « dédié. Dans de nombreux cas, il est logique que l'application affiche cette vue "connect" uniquement après qu'un utilisateur s'est connecté à un compte Microsoft professionnel ou scolaire.
Lorsque vous connectez l'utilisateur à votre application, vous pouvez identifier l'organisation à laquelle l'administrateur appartient avant de demander à l'utilisateur d'approuver les autorisations nécessaires. Bien que cela ne soit pas strictement nécessaire, cela peut vous aider à créer une expérience plus intuitive pour vos utilisateurs d’organisation.
Demander les autorisations à un administrateur d’annuaire
Lorsque vous êtes prêt à demander des autorisations auprès de l’administrateur de votre organisation, vous pouvez rediriger l’utilisateur vers le point de terminaison de consentement de l’administrateur de la plateforme d’identités Microsoft.
https://login.microsoftonline.com/{tenant}/v2.0/adminconsent
?client_id=00001111-aaaa-2222-bbbb-3333cccc4444
&scope=https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Mail.Send
&redirect_uri=http://localhost/myapp/permissions
&state=12345
| Paramètre | État | Descriptif |
|---|---|---|
tenant |
Obligatoire | Le client d’annuaire auquel vous souhaitez demander l’autorisation. Peut être fourni au format GUID ou nom convivial OU référencé génériquement avec organizations comme indiqué dans l’exemple. N’utilisez pas « common », car les comptes personnels ne peuvent pas fournir le consentement administrateur, sauf dans le contexte d’un locataire. Pour garantir une meilleure compatibilité avec les comptes personnels qui gèrent les locataires, utilisez l’ID de locataire, dans la mesure du possible. |
client_id |
Obligatoire | L’ID d’application (client) que l’expérience Inscriptions d’applications du centre d’administration Microsoft Entra a attribué à votre application. |
redirect_uri |
Obligatoire | URI de redirection dans lequel vous souhaitez que la réponse soit envoyée pour que votre application gère. Il doit correspondre exactement à l’un des URI de redirection que vous avez inscrits dans le portail d’inscription des applications. |
state |
Recommandé | Une valeur incluse dans la requête, qui sera également renvoyée dans la réponse de jeton. Il peut s’agir d’une chaîne du contenu de votre choix. Utilisez l’état pour encoder les informations sur l’état de l’utilisateur dans l’application avant la requête d’authentification, comme la page ou la vue sur laquelle ou laquelle il était positionné. |
scope |
Obligatoire | Définit l’ensemble des autorisations demandées par l’application. Cela peut être statique (à l’aide /.default) ou des étendues dynamiques. Cela peut inclure les étendues OIDC (openid, profile, email). |
À ce stade, Microsoft Entra ID nécessite qu’un administrateur client se connecte pour compléter la requête. L’administrateur est invité à approuver toutes les autorisations demandées dans le scope paramètre. Si vous avez utilisé une valeur statique (/.default), elle fonctionne comme le point de terminaison de consentement administrateur v1.0 et demande le consentement pour toutes les étendues trouvées dans les autorisations requises (utilisateur et application). Pour demander des autorisations d’application, vous devez utiliser la /.default valeur. Si vous ne souhaitez pas que les administrateurs voient une autorisation donnée dans l’écran de consentement de l’administrateur à tout moment lorsque vous utilisez /.default, la meilleure pratique consiste à ne pas placer l’autorisation dans la section autorisations requises. Au lieu de cela, vous pouvez utiliser le consentement dynamique pour ajouter les autorisations que vous souhaitez accéder à l’écran de consentement au moment de l’exécution, plutôt que d’utiliser /.default.
Réponse réussie
Si l’administrateur approuve les autorisations pour votre application, la réponse réussie ressemble à ceci :
http://localhost/myapp/permissions
?admin_consent=True
&tenant=aaaabbbb-0000-cccc-1111-dddd2222eeee
&scope=https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Mail.Send
&state=12345
| Paramètre | Descriptif |
|---|---|
tenant |
Le locataire du répertoire qui a accordé à votre application les autorisations demandées, sous forme d'identifiant global unique (GUID). |
state |
Valeur incluse dans la requête qui sera également retournée dans la réponse du jeton. Il peut s’agir d’une chaîne du contenu de votre choix. L’état est utilisé pour encoder des informations sur l’état de l’utilisateur dans l’application avant la demande d’authentification, telles que la page ou la vue sur laquelle il se trouvait. |
scope |
Ensemble d’autorisations auxquelles l’accès a été accordé, pour l’application. |
admin_consent |
Sera défini sur True. |
Avertissement
N’utilisez jamais la valeur d’ID de locataire du tenant paramètre pour authentifier ou autoriser les utilisateurs. La valeur de l’ID de locataire peut être mise à jour et envoyée par des acteurs incorrects pour emprunter l’identité d’une réponse à votre application. Cela peut entraîner l’exposition de votre application à des incidents de sécurité.
Réponse d’erreur
http://localhost/myapp/permissions
?admin_consent=True
&error=consent_required
&error_description=AADSTS65004%3a+The+resource+owner+or+authorization+server+denied+the+request.%0d%0aTrace+ID%3a+0000aaaa-11bb-cccc-dd22-eeeeee333333%0d%0aCorrelation+ID%3a+8478d534-5b2c-4325-8c2c-51395c342c89%0d%0aTimestamp%3a+2019-09-24+18%3a34%3a26Z
&state=12345
L’ajout aux paramètres affichés dans une réponse réussie, les paramètres d’erreur sont considérés comme ci-dessous.
| Paramètre | Descriptif |
|---|---|
error |
Une chaîne de code d’erreur pouvant être utilisée pour classer les types d’erreurs se produisant, et pouvant être utilisée pour intervenir face aux erreurs. |
error_description |
Message d’erreur spécifique qui peut aider un développeur à identifier la cause racine d’une erreur. |
state |
Valeur incluse dans la requête qui sera également retournée dans la réponse du jeton. Il peut s’agir d’une chaîne du contenu de votre choix. L’état est utilisé pour encoder des informations sur l’état de l’utilisateur dans l’application avant la demande d’authentification, telles que la page ou la vue sur laquelle il se trouvait. |
admin_consent |
Cette réponse est définie pour True indiquer que cette réponse s’est produite sur un flux de consentement administrateur. |
Étapes suivantes
- Découvrez comment convertir une application en plusieurs locataires
- Découvrez comment le consentement est pris en charge au niveau de la couche de protocole OAuth 2.0 pendant le flux d’octroi du code d’autorisation.
- Découvrez comment une application multilocataire peut utiliser l’infrastructure de consentement pour implémenter le consentement « utilisateur » et « administrateur », prenant en charge des modèles d’application multiniveau plus avancés.
- Présentation des expériences de consentement de l’application Microsoft Entra