Saya mencoba menulis aplikasi konsol sederhana yang akan mengautentikasi menggunakan OAUTH terhadap Azure Graph tanpa memerlukan nama pengguna/kata sandi, tetapi saya menerima kesalahan 403 saat menjalankan metode WebClient.DownloadString. Bantuan apa pun akan sangat dihargai.

 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");

  }
 }
0
a b 21 November 2017, 19:58

1 menjawab

Jawaban Terbaik

Ini sekarang telah diselesaikan. Kode di atas benar, tetapi ada langkah yang saya lewatkan, yaitu mengonfigurasi ServicePrincipal di Azure: -

  1. Masuk dengan Admin Global menggunakan perintah Connect-Msolservice
  2. Ambil ObjectID dari Service Principal > Get-MsolServicePrincipal –AppPrincipalId YOUR_APP_CLIENT_ID
  3. Tetapkan peran menggunakan > Add-MsolRoleMember -RoleMemberType ServicePrincipal -RoleName 'Administrator Perusahaan' -RoleMemberObjectId YOUR_OBJECT_ID

Tautan berikut juga sangat berguna: -

https://developer.microsoft.com/en-us/graph/ docs/concepts/overview (Klik panah di kiri atas untuk menampilkan daftar lengkap, lalu gulir ke bawah ke operasi yang sesuai)

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

0
a b 23 November 2017, 16:53