7

ich eine Anwendung erstellt haben in https://apps.dev.microsoft.com (Plattformen: Web)Microsoft Graph API - AADSTS90094: Der Zuschuss erfordert Admin Erlaubnis

Diese App das Admin-Zustimmung für bestimmte Berechtigungen benötigt. Ich erinnere mich, dass ich in der Vergangenheit auf https://login.microsoftonline.com/{tenant name}/adminconsent?client_id={application id}&state={some state data}&redirect_uri={redirect uri} mit einem Administratorkonto zugegriffen habe, um die Erlaubnis zu geben, auf Ressourcen in unserer Organisation zuzugreifen, die nur ein Administrator gewähren kann. Von dort aus mussten Benutzer Benutzereinwilligung erteilen, um die Anwendung zu verwenden.

Jetzt kann ich erfolgreich anmelden mit einem Admin-Konto und die App funktioniert wie erwartet, aber ich bekomme immer noch eine Aufforderung, für Benutzer, die folgende Meldung:

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

Die Fehlermeldung ist: AADSTS90094: The grant requires admin permission., die nirgendwo dokumentiert zu sein scheint.

Wenn ich auf Have an admin account? Sign in with that account klicke und mich mit einem Administratorkonto anmelde, funktioniert es, aber versuche es erneut mit einem normalen Benutzerkonto. Ich bekomme die obige Nachricht erneut.

enter image description here

EDIT: So zog ich Berechtigungen bis auf ein absolutes Minimum. Scopes in meiner Anwendung sind jetzt: openid, profile, user.read Und Microsoft Graph Berechtigungen sind jetzt für delegierte Berechtigungen: Mail.Send, User.Read. Nothing in Application Permissions und ich bekomme immer noch die obige Nachricht für normale Benutzer! Jeder von Microsoft hat einige Informationen über den AADSTS90094 Fehlercode?

+0

Ich untersuche gerade das gleiche Problem für meine Multi-Tenant-Anwendung. Hast du schon etwas gefunden? – sergej

+0

Hallo @sergej, noch nichts traurig. Es hat den größten Teil meines Tages gekostet. Nicht sicher, was sich in den letzten Monaten geändert hat, eine ähnliche App mit ähnlichen Rechten, die nach der einmaligen Einwilligung des Admins genutzt wurde. Es scheint nun so, als hätte die Admin-Zustimmung keine Auswirkungen und Benutzer können keine Verbindung herstellen. –

+0

Könnten Sie bitte die Berechtigungen zeigen, die Sie für graph api hinzugefügt haben? –

Antwort

1

OK, ich kontaktierte den Microsoft-Support, da zu diesem Datum keine Informationen zu dieser Fehlermeldung vorliegen.

Um es kurz zu machen, hat Microsoft einige Änderungen in Bezug auf Berechtigungen vorgenommen. Wenn Ihre App in der Vergangenheit einen der folgenden Werte benötigt: openid, profile oder offline_access, können Sie sie einfach als Gültigkeitsbereiche in Ihre App einfügen. Sie waren unter https://apps.dev.microsoft.com nicht verfügbar. Ein Administrator hätte zugestimmt und Ihre App würde ordnungsgemäß funktionieren.

Was sollten Sie jetzt tun, ist Spiegel Ihre App-Bereiche mit den Berechtigungen, die Sie auf https://apps.dev.microsoft.com haben oder sonst werden Sie behalten, dass die Fehlermeldung bekommen, so stellen Sie sicher, dass haben die gleiche Sache auf beiden nun Seiten, vor allem wenn du an das alte Verhalten gewöhnt bist.

Diese drei Bereiche/Berechtigungen (openid, profile und offline_access) kann nun für Ihre App auf dem Entwickler-Portal ausgewählt werden.

+0

Können Sie etwas hinzufügen, was Sie meinen, indem Sie "Scopes" zu Ihrer Anwendung hinzufügen? – Sam

+1

Hallo @Sam. Sichere Sache. Um ein Zugriffs-Token zu erhalten, müssen Sie einige Bereiche mit Ihrer Anfrage übergeben. Sie werden in einer URL ähnlich der folgenden verwendet: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize?state=TDDBBAE9x40TQ4JKFHOSA&scope=openid+profile+user.read+mail.readwrite+mail. send + offline_access [...] '. Beachten Sie die 'openid',' profile', 'user.read' usw., das sind Bereiche. Was MS kürzlich geändert hat, ist, dass man jetzt die gleichen Bereiche auf beiden Seiten haben muss, die Anwendung sowie auf https: // apps.dev.microsoft.com. Zögere nicht, wenn du mehr Hilfe brauchst. –

+0

Vielen Dank für Ihre Ergebnisse hier. Ich stehe vor einem ähnlichen Problem und frage mich, ob Ihre Lösung für mich funktionieren würde, aber ich kann die Benutzeroberfläche zum Definieren von Bereichen auf https://apps.dev nicht finden.microsoft.com. Alles, was ich dort sehe, ist ein Editor für die Manifest-Datei. Hat sich etwas verändert, seit du gepostet hast? Ich glaube mich daran zu erinnern, dass diese Seite anders aussieht ... –

0

Der Administratorzustimmungsendpunkt unterstützt das dynamische Szenario und das dynamische Zustimmungsszenario nicht.

Die Verwendung des Admin-Zustimmungsendpunkts gewährt die im App-Registrierungsportal registrierten Berechtigungen. Sie können Microsoft Graph Permissions Abschnitt suchen und Sie fügen dann die Berechtigungen hinzu, die Ihre App benötigt. Nachdem Sie mithilfe des Admin-Zustimmungsendpunkts die Zustimmung des Administrators erteilt haben, kann Ihre App Berechtigungen für alle Benutzer in einem Mandanten sammeln, einschließlich für Bereiche mit Administratorbeschränkung.

+0

Ich brauche keinen dynamischen Bereich oder Zustimmung. Die Meldung wird angezeigt, nachdem sich ein Benutzer angemeldet hat. Dies ist, was ich im Anwendungsportal habe: Delegierte Berechtigungen: 'Mail.Send',' User.Read', 'User.ReadBasic.All',' User.Read. Alle (nur Admin) '. Anwendungsberechtigungen: 'Directory.ReadWrite.All (Nur für Administratoren)', 'User.Read.All (Nur für Administratoren)'. Was muss ich ändern? –

+0

Ich teste dein Szenario, das Ergebnis ist derzeitig bekannte Bereiche (openid, profile, offline_access) würden nach Zustimmung des Administrators um Zustimmung bitten. Das sollte Einverständniserklärung sein. Aber ich habe Ihr Szenario nicht reproduziert, dass Admin-Bereich noch Zustimmung des Benutzers nach Admin-Zustimmung sein muss. –

0

Ich verwende MSAL und den 2.0 Endpunkt (Login.Microsoft ...), ich entwickle eine Multi-Tenant Anwendung.

Meine Organisation hat 2 Mieter

Einer von ihnen ist im Wesentlichen unsere Dev Instanz (und ich habe globale Admin-Rechte). Ich habe meine App unter Tenant registriert, für die ich keine Administratorrechte habe, und habe Admin Consent für diese App im Mandanten ausgeführt, wo ich die Zustimmung selbst durchführen kann. Meine Benutzer können sich erfolgreich anmelden und haben die Zustimmung zu den Ressourcen, die sie benötigen.

Wenn ich jedoch die App-Registrierung (alle konvergierten Apps unter apps.dev.mic) aus dem Konto erstellt habe, wo ich globale Admin-Rechte habe, erhält die Anmeldung für meine Benutzer die AADSTS90094 Error.

Der einzige Weg, ich bin gekommen, zu „lösen“ dieser Fehler ist,

Auf Erstanmeldung der Anwendung würde der Umfang openid sein der Benutzer dann zustimmt, dass, wenn dies abgeschlossen ist ich ein anderes zu tun haben, Melden Sie sich mit dem für die Anwendung definierten Bereich an und alles funktioniert. Offensichtlich ist das UX wackelig, um es gelinde auszudrücken.

+1

Bitte formatieren Sie Ihre Antwort besser, es ist sehr schwierig, hilfreiche Informationen zu destillieren, während das OP vielleicht etwas versucht, was Sie getan haben. Sie müssen nicht Ihr gesamtes Setup und das, was Sie erstellen, beschreiben. Schlagen Sie einfach eine Lösung vor und erklären Sie, warum es helfen könnte, verwenden Sie Kommas, Leerzeichen und korrekte Großschreibung. – Glubus

Verwandte Themen