Nous avons créé une application convergée pour une communauté publique (les utilisateurs AD et live peuvent se connecter) en utilisant Microsoft Graph et les étendues openid, email, profile et user.readBasic.all.
Tout fonctionne bien pour les utilisateurs en direct, mais certains utilisateurs AD ne peuvent pas se connecter. Quand ils essaient de se connecter, ils reçoivent le message
"L'application a besoin d'une autorisation pour accéder aux ressources de votre organisation que seul un administrateur peut accorder. Veuillez demander à un administrateur d'accorder l'autorisation à cette application avant de pouvoir l'utiliser."
selon Microsoft document nous avons préparé l'URL de consentement de l'administrateur en tant que
https://login.microsoftonline.com/<TenantID>/oauth2/authorize?client_id=<AppID>&response_type=code&redirect_uri=<RedirectURI>&Prompt=admin_consent
Après le consentement de l'administrateur, les utilisateurs ne peuvent pas non plus se connecter à l'application. Aidez-nous s'il vous plaît ce que nous manquons ici.
Votre URL est pour le point de terminaison v1, pas le point de terminaison v2 (aka point de terminaison convergé).
Cela devrait ressembler à ceci (saut de ligne pour plus de lisibilité):
https://login.microsoftonline.com/common/adminconsent?
client_id=[APPLICATION ID]&redirect_uri=[REDIRECT URI]
Notez que c'est /adminconsent
plutôt que /authorize
et il n'y a pas de paramètre de requête Prompt
. Gardez également à l'esprit que vous devrez vous assurer que votre inscription inclut les étendues pour lesquelles vous souhaitez obtenir le consentement.
J'ai écrit un article qui vous guide tout au long du processus qui devrait s'avérer utile ici: v2 Endpoint and Admin Consent