2017-09-25 4 views
1

J'ai un Azure AD B2C. Étant donné qu'Azure Active Directory a été migré vers un nouveau portail, j'ai un problème pour lire et écrire les données des utilisateurs locataires avec l'API Azure Graph. Avant, j'avais une application qui a été créée à partir de l'ancien portail et qui ne fonctionne pas maintenant.API Azure Graph: erreur 403 interdite avec Azure AD B2C

Alors, j'ai créé une nouvelle application à partir du nouveau portail, comme suit:

  • Open "Azure Active Directory" onglet
  • Ouvrir "inscriptions App"
  • Cliquez sur "Enregistrement d'une nouvelle application"
  • onglet "Propriétés" avec:

  • onglet "Répondre URLs" avec:

    • https: // graphique. Windows.net/winbizdev.onmicrosoft.com
  • "autorisations requises" onglet avec:

    • Windows Azure Active Directory - onglet> Vérifier 3 éléments qui ne nécessitent pas d'administration
  • "Keys" avec:

    • CLIENT_SECRE T qui expire jamais

Voici maintenant mon code C# pour accéder aux données d'utilisateur à partir Azure Graph API:

 _authContext = new AuthenticationContext("https://login.microsoftonline.com/myTenant.onmicrosoft.com"); 
     _credential = new ClientCredential("<Application Client Guid>", "<Client secret which I created in "Keys" tab"); 
     var result = await _authContext.AcquireTokenAsync("https://graph.windows.net/", _credential);   
     var http = new HttpClient(); 
     var graphUrl = "https://graph.windows.net/myTenant.onmicrosoft.com/users/<My User Guid>?api-version=1.6";  
     var request = new HttpRequestMessage(new HttpMethod("GET"), graphUrl); 
     request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);  
     var response = await http.SendAsync(request); 
     return response; 

Et j'obtenir toujours une erreur 403 interdite. La version de l'assembly "Microsoft.IdentityModel.Clients.ActiveDirectory" est 3.13.8.99.

Alors, quel est le problème dans ma configuration? Que dois-je faire pour lire et écrire à nouveau les données des utilisateurs locataires avec l'API Azure Graph?

Merci pour votre aide!

Alex

Répondre

0

vous achetez jeton acess en utilisant client credential flow.Cela signifie que vous avez besoin d'ajouter Autorisations d'application en lame Required permissions.

Toutes les autorisations d'application de l'API azure ad graph nécessitent un consentement administrateur. Veuillez cliquer sur le bouton Grant Permissions (se connecter avec le compte d'administrateur) après avoir ajouté les autorisations d'application.

+0

Merci pour votre réponse et votre aide! Dans mon AD, je ne vois que les utilisateurs qui sont "Membre". J'essaie de créer un utilisateur qui est "Global admin", mais j'ouvre ses propriétés, cet utilisateur est "Membre". Donc, je ne sais pas comment avoir ou créer un admin pour son AD qui peut accorder des perrmissions pour tous les autres utilisateurs ... Comment puis-je faire cela? –

+0

pouvez-vous changer le rôle de répertoire à 'Global admin'? Quel est le rôle de répertoire de votre compte? Si ce n'est pas «global admin», s'il vous plaît demander le support informatique de l'entreprise –

+0

Je suis désolé, je n'ai pas vu dans le bon onglet. J'ai vu dans l'onglet "Profil" et "Type d'utilisateur" est "Membre". Mais dans le "rôle d'annuaire", nous récupérons les administrateurs globaux qui ont été créés à partir de l'ancien portail. Dernière question: comme la configuration a changé avec la migration de l'ancien vers le nouveau portail, savez-vous si d'autres changements sont prévus? Je pose cette question car avant cette migration, nous pouvions accéder à l'API graphique sans problème et puis, tout à coup, rien ne fonctionnait et nous devions changer de configuration. Mais maintenant, tout fonctionne à nouveau. Donc, merci pour votre aide précieuse! –