2016-06-10 125 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而不是缓存令牌自己。

相关问题