2016-06-10 9 views

回答

3

https://aka.ms/aaddev中有很多全面的文檔和示例,您應該花點時間在那裏探索。我下面的所有響應來自這些樣本,特別是這一個:

https://github.com/Azure-Samples/active-directory-dotnet-native-desktop

首先,你需要通過以下步驟來註冊在Azure中的Active Directory,您的客戶端應用程序:

  1. 登錄Azure管理門戶。
  2. 單擊左側導航欄中的Active Directory。
  3. 單擊您希望註冊示例應用程序的目錄租戶。
  4. 單擊應用程序選項卡。
  5. 在抽屜中,單擊添加。
  6. 點擊「添加我的組織正在開發的應用程序」。
  7. 爲應用程序輸入一個友好名稱,即「YourClientApp」,選擇「Native Client Application」,然後單擊下一步。
  8. 輸入重定向URI,即「https://yourClientsRedirectUri/」。點擊完成。
  9. 單擊應用程序的配置選項卡。
  10. 查找客戶端ID值並將其複製到一邊,稍後在配置應用程序時需要此值。
  11. 在「對其他應用程序的權限」中,單擊「添加應用程序」。在「顯示」下拉列表中選擇「其他」,然後單擊上面的複選標記。找到&單擊「YourApi」,然後單擊底部的複選標記以添加應用程序。從「Delegated Permissions」下拉列表中選擇「Access YourApi」,然後保存配置。

然後,對於C#.NET客戶端,你需要使用.NET中的Active Directory驗證庫(ADAL)和線沿線的做一些事情:

var authority = "https://login.microsoftonline.com/"; 
var resource = "https://yourApisUri/"; 
var redirectUri = "https://yourClientsRedirectUri/"; 

var tenant = "yourAzureActiveDirectory.onmicrosoft.com"; 
var clientId = "yourClientsAzureADClientId"; 

var ctx = new AuthenticationContext(authority + tenant); 

var t = ctx.AcquireToken(resource, clientId, new Uri(redirectUri)); 

using (var client = new HttpClient()) 
{ 
    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + t.AccessToken); 

    var url = "https://yourapi.com/yourmethod"; 
    await result = client.GetAsync(url); 

    // Do whatever you want 
} 

重要注意事項:上面的代碼只是一個起點,你應該確保你閱讀並遵循所有的最佳實踐,例如確保你將一個TokenCache傳遞給AuthenticationContext的構造函數,並確保每次你需要一個令牌時調用AcquireToken而不是緩存令牌自己。

相關問題