2017-11-21 3 views
0

Ich versuche, eine einfache Konsolenanwendung zu schreiben, die gegen Azure Graph mit OAUTH wird authentifizieren versucht, aber ich empfange einen 403-Fehler, wenn Ausführen der WebClient.DownloadString-Methode. Jede Hilfe würde sehr geschätzt werden.403 Fehler empfangen, wenn sie OAUTH beglaubigen WebClient gegen Microsoft Azure Graph

static void Main(string[] args) 
{ 
    // Constants 
    var tenant = "mytenant.onmicrosoft.com"; 
    var resource = "https://graph.microsoft.com/"; 
    var clientID = "blah-blah-blah-blah-blah"; 
    var secret = "blahblahblahblahblahblah"; 

    // Ceremony 
    var authority = $"https://login.microsoftonline.com/{tenant}"; 
    var authContext = new AuthenticationContext(authority); 
    var credentials = new ClientCredential(clientID, secret); 


    // Obtain Token 
    var authResult = authContext.AcquireToken(resource, credentials); 

    WebClient webClient1 = new WebClient(); 
    webClient1.Headers[HttpRequestHeader.Authorization] = "Bearer " + authResult.AccessToken; 

webClient1.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 
webClient1.Headers[HttpRequestHeader.Accept] = "application/json"; 

string payload = webClient1.DownloadString("https://graph.microsoft.com/v1.0/users?$Select=givenName,surname"); 

    } 
} 

Antwort

0

Dies wurde jetzt behoben. Der obige Code korrekt war, aber es war ein Schritt, den ich fehlte, die die ServicePrincipal in Azure zu konfigurieren ist: -

  1. Anmeldung mit einem globalen Admin mit dem Befehl Connect-MsolService
  2. die ObjectID des Retrieve Service Principal> Get-MsolServicePrincipal -AppPrincipalId YOUR_APP_CLIENT_ID
  3. Weisen Sie die Rolle mit> Add-MsolRoleMember -RoleMemberType ServicePrincipal -RoleName 'Company Administrator' -RoleMemberObjectId YOUR_OBJECT_ID

die folgenden Links waren auch sehr nützlich: -

https://developer.microsoft.com/en-us/graph/docs/concepts/overview (den Pfeil oben links klicken Sie die vollständige Liste anzuzeigen, und dann auf die entsprechende Operation nach unten scrollen)

https://msdn.microsoft.com/en-us/library/azure/ad/graph/howto/azure-ad-graph-api-error-codes-and-error-handling

Verwandte Themen