web-dev-qa-db-fra.com

API Microsoft Graph - AADSTS90094: l'octroi requiert l'autorisation d'administrateur

J'ai créé une application dans https://apps.dev.Microsoft.com (Plateformes: Web)

Cette application nécessite le consentement de l'administrateur pour certaines autorisations. Je me souviens que jadis, j’avais accédé à https://login.microsoftonline.com/{tenant name}/adminconsent?client_id={application id}&state={some state data}&redirect_uri={redirect uri} avec un compte administrateur afin d’autoriser l’accès à des ressources de notre organisation que seul un administrateur pouvait accorder. À partir de là, les utilisateurs devaient donner leur consentement au niveau de l'utilisateur pour utiliser l'application.

Maintenant, je peux me connecter avec un compte administrateur et l'application fonctionne comme prévu, MAIS je reçois toujours une invite, pour les utilisateurs, avec le message suivant:

You can't access this application APP NAME needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it.

Have an admin account? Sign in with that account

Return to the application without granting consent

Le message d'erreur est: AADSTS90094: The grant requires admin permission. qui ne semble pas être documenté nulle part.

Si je clique sur le Have an admin account? Sign in with that account et que je me connecte avec un compte administrateur, cela fonctionne, mais j'essaie à nouveau avec un compte d'utilisateur régulier. Je reçois à nouveau le message ci-dessus.

 enter image description here

EDIT: J'ai donc réduit les autorisations au strict minimum. Les portées de mon application sont désormais les suivantes: openid, profile, user.read et les autorisations d'accès aux graphes sont maintenant, pour autorisations déléguées: Mail.Send, User.Read. Rien dans Autorisations d'application et j'obtiens ENCORE le message ci-dessus pour les utilisateurs réguliers! Quelqu'un de Microsoft a-t-il des informations sur le code d'erreur AADSTS90094?

8
katalin_2003

D'accord, j'ai donc contacté le support technique Microsoft car, à ce jour, il n'y a aucune information sur ce message d'erreur.

Pour résumer, Microsoft a apporté quelques modifications récentes en ce qui concerne les autorisations. Dans le passé, si votre application nécessitait l'une des variables openid, profile ou offline_access, vous pouviez simplement les placer dans votre application en tant que scopes, elles n'étaient pas disponibles sur https://apps.dev.Microsoft.com. Un administrateur aurait donné son consentement et votre application fonctionnerait correctement.

Ce que vous devriez maintenant faire est que mirror les portées de votre application avec les autorisations que vous avez sur https://apps.dev.Microsoft.com, sinon vous continuerez à recevoir ce message d'erreur, alors assurez-vous que vous avez la même chose des deux côtés maintenant , surtout si vous êtes habitué à l'ancien comportement.

Ces trois portées/autorisations (openid, profile et offline_access) peuvent maintenant être sélectionnées pour votre application sur le portail de développement.

2
katalin_2003

Le point de terminaison du consentement de l'administrateur n'aide pas dans les scénarios de portée et de consentement dynamiques.

L'utilisation du noeud final de consentement de l'administrateur accordera les autorisations enregistrées dans le portail d'enregistrement de l'application. Vous pouvez localiser la section Autorisations Microsoft Graph, puis ajouter les autorisations requises par votre application. Après avoir obtenu le consentement de l'administrateur à l'aide du point de terminaison de l'accord de l'administrateur, votre application peut collecter des autorisations pour tous les utilisateurs d'un client hébergé, y compris les étendues restreintes pour l'administrateur.

0
Nan Yu