Instructie
Configuratie - Systeem - Oauth providers

Diese Seite hilft bei der Diagnose einer fehlgeschlagenen Anmeldung über den Microsoft (Entra ID) OAuth-Anbieter. Typische Meldung: «Administratorzustimmung erforderlich» (Microsoft-Fehlercode AADSTS90094). Zur Einrichtung selbst siehe Wie kann ich die Anmeldung mit Microsoft (Entra ID) ermöglichen?.

Warum passiert das?

Bei der Anmeldung fordert i-Reserve die folgenden Berechtigungen (Scopes) an: openid User.Read Contacts.Read offline_access. Diese sind alle delegiert (im Namen des angemeldeten Benutzers). Microsoft kann dennoch eine Administratorzustimmung verlangen, wenn:

  • im Mandanten festgelegt ist, dass Benutzer nicht selbst zustimmen dürfen, oder
  • noch keine mandantenweite Administratorzustimmung für die App erteilt wurde.

Die Meldung erscheint auf der Zustimmungsseite von Microsoft selbst — der Browser kehrt dann nicht zu i-Reserve zurück. Deshalb ist auf der i-Reserve-Seite kein Anmeldeversuch und kein Fehler sichtbar; das Problem liegt in der Entra-Konfiguration.

Schnelle Prüfung im Entra-Portal

  1. Öffnen Sie App-Registrierungen > [Ihre App] > API-Berechtigungen und prüfen Sie, ob die vier Berechtigungen (openid, User.Read, offline_access, Contacts.Read) auf «Erteilt für [Organisation]» stehen.
  2. Falls nicht, klicken Sie auf «Administratorzustimmung für [Organisation] erteilen» (Administratorrechte erforderlich).
  3. Prüfen Sie zur Gegenkontrolle auch Unternehmensanwendungen > [Ihre App] > Berechtigungen: dort sollte dieselbe Zustimmung eingetragen sein.
  4. Nach dem Erteilen kann es einige Minuten dauern, bis Microsoft die Änderung überall übernommen hat. Versuchen Sie es danach in einer frischen Browsersitzung (Inkognito) erneut, um eine zwischengespeicherte Fehlerseite auszuschließen.

Diagnose per PowerShell (nur Lesen)

Mit dem folgenden Skript prüfen Sie über die Befehlszeile, ob auf der Entra-Seite alles korrekt ist. Es ist nur lesend (ausschließlich *.Read.All-Berechtigungen) und verwendet das moderne Microsoft Graph PowerShell-Modul. Tragen Sie oben Ihre Mandanten-ID und Client-ID ein (zu finden unter App-Registrierungen > Übersicht).

# --- In te vullen / Fill in / Ausfüllen ---
$tenantId = "<TENANT_ID>"   # Map-(tenant-)ID
$appId    = "<CLIENT_ID>"   # Toepassings-(client-)ID

Install-Module Microsoft.Graph -Scope CurrentUser    # alleen de eerste keer / first time only

Connect-MgGraph -TenantId $tenantId `
  -Scopes "Application.Read.All","DelegatedPermissionGrant.Read.All","Policy.Read.All","AuditLog.Read.All"

# 1. Bedrijfstoepassing ophalen + controleren of er maar EEN is
$sp = Get-MgServicePrincipal -Filter "appId eq '$appId'"
$sp | Format-List DisplayName, Id, AppId, AccountEnabled, ServicePrincipalType
"Aantal app-instanties: $($sp.Count)  (verwacht: 1)"

# 2. De daadwerkelijk verleende toestemming (de kern)
Get-MgServicePrincipalOauth2PermissionGrant -ServicePrincipalId $sp.Id |
  Select-Object ConsentType, PrincipalId, Scope | Format-List

# 3. Tenant-instelling voor gebruikers-toestemming (leeg = alleen beheerder mag toestemmen)
(Get-MgPolicyAuthorizationPolicy).DefaultUserRolePermissions.PermissionGrantPoliciesAssigned

# 4. Laatste inlogpogingen voor deze app (vereist Entra ID P1/P2)
Get-MgAuditLogSignIn -Filter "appId eq '$appId'" -Top 20 |
  Select-Object CreatedDateTime, UserPrincipalName,
    @{n='Error';e={$_.Status.ErrorCode}},
    @{n='Reason';e={$_.Status.FailureReason}} |
  Format-Table -AutoSize

Beim ersten Connect-MgGraph fragt Microsoft nach Zustimmung für «Microsoft Graph Command Line Tools», die ein Administrator genehmigen kann. Schritt 4 (Anmeldeprotokolle) erfordert eine Entra ID P1- oder P2-Lizenz.

Wie «richtig» aussieht

PrüfungErwartetes Ergebnis
Anzahl App-InstanzenGenau 1. Mehr bedeutet eine doppelte App, die bereinigt werden sollte.
Erteilte Zustimmung (Schritt 2)Eine Zeile mit ConsentType : AllPrincipals und in Scope mindestens openid User.Read Contacts.Read offline_access. Principal = nur pro Benutzer; leer = nicht erteilt.
Benutzer-Zustimmung (Schritt 3)Leer bedeutet, dass nur ein Administrator zustimmen darf — das erklärt die Meldung und ist kein Problem, sobald Schritt 2 stimmt.
Anmeldeprotokolle (Schritt 4)Keine neuen 90094-Fehler mehr nach dem Zeitpunkt der Zustimmung.

Die wichtigsten Prüfungen sind Schritt 2 (ist die Zustimmung mandantenweit?) und Schritt 3 (ist Selbst-Zustimmung deaktiviert?).