Ich benutze Azure Active Directory, um den Zugriff auf meine Web-App mit Gruppenmitgliedschaft zu steuern. Ich habe 2 Gruppen (Benutzer & Admin). In meiner App habe ich Anwendungsberechtigungen für Microsoft Graph eingerichtet, um Benutzerprofile zu lesen und alle Gruppen zu lesen.Microsoft Graph-API-Zugriffsprobleme in App-Service-Slots in Azure
Ich verwende dann die Grafik API in meiner App, um eine Liste aller verfügbaren Gruppen zu erhalten. Das funktioniert in meiner lokalen Entwicklungsumgebung einwandfrei und wenn ich die App in azurblau stelle, funktioniert der Prozess auch dort gut. Das Problem tritt auf, wenn ich meine 2 "Slots" in der App Service-Umgebung hochlade und teste. Ich habe zwei, die ich benutze, eine Entwicklungsversion und eine QA-Version. Sobald ich versuche, auf die Grafik api zuzugreifen, bekomme ich diesen Fehler
Code: Authorization_RequestDenied Nachricht: Unzureichende Berechtigungen, um den Vorgang abzuschließen.
Ich bekam dies, als ich anfing zu entwickeln, aber das Einrichten und Gewähren von App-Berechtigungen löste es. Warum bekomme ich das in meinen anderen 2 'Apps'? Ich brauche diese zu testen (ich als Entwickler und unser Test-Team in QA) Gibt es noch andere Schritte, die ich für meine Entwickler & qa Slots nehmen muss, um auf die gleiche Weise zu arbeiten?
** dies ist, wie ich den Grafik-API zugreifen, es funktioniert ok in meinem Haupt-app, aber nicht in den Schlitzen
GraphServiceClient graphClient = new GraphServiceClient(new AzureAuthenticationProvider());
Group group = await graphClient.Groups[admin].Request().GetAsync();
** Update
Das Problem ist mit den Anwendungen in Laufen meine Schlitze. Beide meine Dev & QA-Slots haben keine Gruppeninformationen im Claimsidentity-Objekt, nachdem sich ein Benutzer anmeldet. Ich habe dies überprüft, indem ich die Informationen im Claimsidentity-Objekt protokolliert habe, wenn ich es lokal und in der Haupt-App in Azure die Gruppeninformationen ausführe ist vorhanden, wenn ich es in den azurblauen qa & Entwicklungsumgebungen betreibe, sind die Gruppen nicht in dem Claimsidentity-Objekt vorhanden. Warum sollte das sein? Erben die Steckplätze die Active Directory-Einstellungen oder sollten sie separat eingerichtet werden? Ich bin ziemlich neu in azurblau und das Sicherheitsmodell, so dass jede Hilfe sehr geschätzt werden würde.
Ich habe Redirect URLs in Azure und auch in meiner web.config eingerichtet, verwende ich verschiedene Transformationen für jede Umgebung mit der entsprechenden Umleitung für jede Umgebung.
Im OpenID
** Update 2
Wenn ich die Schlitze geschaffen, ich basiert sie (kopiert) auf meinem Haupt-App. Sollte jeder Slot in seiner Datei web.config eine eigene ClientID und einen geheimen Schlüssel haben? Muss ich auch jeden Slot als Anwendung im Active Directory registrieren?Im Moment gerade ist mein Haupt-App
registriertHier sind die Ansprüche von jedem meiner App können Sie die qa App sehen keine Gruppen
meine QA Schlitz in azur
Claim type - ver
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
Claim type - http://schemas.microsoft.com/identity/claims/tenantid
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
Claim type - onprem_sid
Claim type - nonce
Claim type - http://schemas.microsoft.com/identity/claims/objectidentifier
Claim type - name
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
Claim type - ipaddr
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
Claim type - http://schemas.microsoft.com/claims/authnmethodsreferences
Claim type - c_hash
Claim type - aio
Claim type - exp
Claim type - nbf
Claim type - iss
Claim type - iat
Claim type - aud
Authentifizierungstyp ; Cookies
Mein Haupt App in Azure
Claim type - ver
Claim type - http://schemas.microsoft.com/identity/claims/tenantid
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
Claim type - http://schemas.microsoft.com/identity/claims/objectidentifier
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
Claim type - nonce
Claim type - name
Claim type - ipaddr
Claim type - http://schemas.microsoft.com/identity/claims/identityprovider
Claim type - groups
Claim type - groups
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
Claim type - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
Claim type - c_hash
Claim type - http://schemas.microsoft.com/claims/authnmethodsreferences
Claim type - exp
Claim type - aio
Claim type - nbf
Claim type - iss
Claim type - iat
Claim type - aud
Authentifizierungstyp; Cookies
** OK, ich habe versucht, die QA-App zu Azure Active Directory als eine registrierte Anwendung hinzufügen, ich habe eine ClientID und ein Geheimnis, ich habe es die gleichen Berechtigungen für Azure Active Directory und Microsoft Grafik als meine Hauptanwendung. Ich habe die clientid & secret in meine web.config-Transformation aufgenommen, also im Grunde ihre Einrichtung auf die gleiche Weise wie meine Haupt-App und STILL keine Gruppeninformationen in der Claimsidentity. Wie um alles in der Welt soll das funktionieren?
*** Ein weiteres Update
Berechtigungen
gewährtWindows Azure Active Directory - delegierte Berechtigungen: Alle Gruppen lesen, lesen Sie alle Benutzer ein Profil
Microsoft Graph - Anwendung Berechtigungen: alles lesen Benutzer vollständige Profile, lesen Sie alle Gruppen - delegierte Berechtigungen: Lesen Sie alle Gruppen, lesen Sie alle Benutzer vollständige Profile, Anmelden und Benutzerprofil lesen
Genau wie ein Test, ich habe auch jede Erlaubnis für Active Directory und Microsoft Graph erteilt und es machte keinen Unterschied.
Dies wird zu einem ernsthaften Problem für mich jetzt, ich kann nicht sehen, dass theres alles andere kann ich tun, es funktioniert perfekt gut in meiner Haupt-App, aber nicht in den 'Slots' gibt es einen großen Fehler/Fehler mit Azure oder mache ich hier etwas grundsätzlich falsch?
Kann mir jemand helfen?
jedermann: Sie können die Zugriffstoken von this link
Weitere Einzelheiten über Berechtigungen über Microsoft Graph REST, lesen Sie bitte den Link unten dekodieren? Das ist ein riesiges Problem, ich kann keine Funktionalität rund um die Sicherheit für meine dev & qa Version in azure testen :-( – proteus