J'utilise azure active directory pour contrôler l'accès à mon application Web à l'aide de l'appartenance à un groupe. J'ai 2 groupes (utilisateur & admin). Dans mon application, j'ai configuré les autorisations d'application pour Microsoft Graph pour lire les profils des utilisateurs et lire tous les groupes. J'utilise ensuite l'API graphique dans mon application pour obtenir une liste de tous les groupes disponibles. Cela fonctionne bien dans mon environnement de développement local et quand je déploie l'application sur azur, le processus fonctionne bien là aussi. Le problème se pose lorsque je télécharge et que je teste mes 2 emplacements dans l'environnement de service de l'application. J'en ai deux que j'utilise, une version de développement et une version d'assurance qualité. Dès que j'essaie d'accéder à l'API graphique à partir de l'une de ces erreurs, j'obtiens cette erreur. Je recevais cela lorsque j'ai commencé à développer, mais la configuration et l'octroi des autorisations d'application l'ont résolu. Alors pourquoi est-ce que je l'obtiens dans mes 2 autres applications? J'ai besoin de ceux-ci pour tester (moi en tant que développeur et notre équipe de test en assurance qualité) Y a-t-il d'autres étapes que je dois prendre pour que mes machines à sous fonctionnent de la même manière?Problèmes d'accès à l'API Microsoft Graph entre les espaces de service d'application dans Azur
** Voici comment j'accéder au graphique api, il fonctionne bien dans mon application principale, mais pas dans les fentes
GraphServiceClient graphClient = new GraphServiceClient(new AzureAuthenticationProvider());
Group group = await graphClient.Groups[admin].Request().GetAsync();
** Mise à jour
Le problème est avec les applications en cours d'exécution en mes fentes. Les deux emplacements de QA ne possèdent aucune information de groupe dans l'objet ClaimsIdentity après la connexion d'un utilisateur. J'ai vérifié cela en consignant l'information dans l'objet Claimsidentity, lorsque je l'exécute localement et dans l'application principale dans Azure, info groupe est présent, quand je l'exécute dans les environnements de développement azure qa &, les groupes ne sont pas présents dans l'objet Claimsidentity. Pourquoi cela serait-il? Les emplacements héritent-ils des paramètres du répertoire actif ou doivent-ils être configurés séparément? Im assez nouveau à azur et le modèle de sécurité, donc toute aide serait grandement appréciée. J'ai des URL de redirection configurées dans azure et aussi dans mon web.config, j'utilise différentes transformations pour chaque environnement en utilisant la redirection appropriée pour chaque environnement.
Im avec OpenID
** Mise à jour 2
Lorsque j'ai créé les machines à sous, je les en fonction (copié) sur mon application principale. Est-ce que chaque slot doit avoir son propre ClientID et secret dans son fichier web.config? Dois-je aussi enregistrer chaque slot en tant qu'application dans le répertoire actif?Pour l'instant juste mon application principale est enregistrée
Voici les revendications de chacun de mon application, vous pouvez voir l'application qa n'a pas de groupe
mon emplacement QA dans le type d'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
d'authentification ; Cookies
My Main App 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
type d'authentification; Cookies
** OK, j'ai essayé d'ajouter l'application QA au répertoire actif azur en tant qu'application enregistrée, j'ai un clientID et un secret, je lui ai donné les mêmes permissions pour le répertoire actif azur et Microsoft graphique comme mon application principale. J'ai inclus le clientid & secret dans ma transformation web.config, donc fondamentalement sa configuration de la même manière que mon application principale et STILL aucune information de groupe dans le claimidentity. Comment diable est-ce censé fonctionner?
*** Une autre mise à jour
autorisations accordées
fenêtres azur Active Directory - autorisations délégué: lire tous les groupes, lire tous les utilisateurs profils complets
Microsoft Graph - autorisations d'application: lire tous utilisateurs profils complets, lisez tous les groupes - autorisations délégués: lire tous les groupes, lire tous les utilisateurs profils complets, connectez-vous et lire le profil de l'utilisateur
Juste comme un test, j'ai également accordé toutes les autorisations pour le répertoire actif et Microsoft graphique et cela n'a fait aucune différence. Cela devient un problème sérieux pour moi maintenant, je ne vois pas qu'il y a quoi que ce soit d'autre que je puisse faire, ça marche parfaitement bien dans mon application principale, mais pas dans les 'slots' il y a un défaut/bug majeur avec Azure ?, ou est-ce que je fais quelque chose de fondamentalement faux ici?
Quelqu'un peut-il m'aider?
quelqu'un? c'est un gros problème, je ne peux tester aucune fonctionnalité autour de la sécurité pour ma version dev & qa dans azure :-( – proteus