官方參考資料在這裏:https://msdn.microsoft.com/en-us/library/azure/dn722415.aspx,本文放一些重點及遇到的坑的解決辦法。app
不是說,咱們把subscriptionID和本地的cert匹配一下就OK了,還須要在portal中配置,容許咱們的APP訪問這個portal。主要參考這裏:Add an application to Azure AD。要注意的是,上文是4月15日的版本,可是如今(8月18日)的版本,已經不是在Set up directory這個TAB頁上,而是在Develop Applications這個TAB上。 ide
在OAuth的回調頁面中,不是兩個URL,而是變成了一個,這裏我寫了http://localhost/。七月的,配置permission的時候,照作便可,別忘記點下面的保存。spa
在VS工程裏面,按照上面指南,management libraries是沒問題的。可是注意第二個,AD auth的,搜索以後找到的,不是原文中的Active Directory Authentication Library,而是Microsoft.IdentityModel.Clients.ActiveDirectory(我擦,成天更名字,好玩嗎?!)code
按照指南,把那一坨appSettings內容添加到app.config文件中,而後把OAUTH2對應的endpoint的GUID替換到app.config中的id-of-tenent。在另外一個portal界面中,把id-of-client的值也替換到app.config文件中。blog
截止到step7爲止,替換redirectUri遺蹟subScriptionId。step8及以後,暫時不修改。token
按照指南作便可。此時就能夠作驗證了,在你的入口方法中調用GetAuthorizationHeader,若是能彈出來微軟的ADFS認證窗口,而且你輸入你本身的azure的管理員帳號與密碼,驗證成功後,那麼就沒問題了。ip
這時,能夠初步驗證咱們的代碼了:it
private void button1_Click(object sender, EventArgs e) { var token = GetAuthorizationHeader(); var credential = new TokenCloudCredentials(ConfigurationManager.AppSettings["subscriptionId"], token); var computeClient = new Microsoft.WindowsAzure.Management.Compute.ComputeManagementClient(credential); var services = computeClient.HostedServices.List().HostedServices; }