文章出處

官方參考資料在這里:https://msdn.microsoft.com/en-us/library/azure/dn722415.aspx,本文放一些重點及遇到的坑的解決辦法。

 

身份驗證

不是說,我們把subscriptionID和本地的cert匹配一下就OK了,還需要在portal中配置,允許我們的APP訪問這個portal。主要參考這里:Add an application to Azure AD。要注意的是,上文是4月15日的版本,但是現在(8月18日)的版本,已經不是在Set up directory這個TAB頁上,而是在Develop Applications這個TAB上。 

在OAuth的回調頁面中,不是兩個URL,而是變成了一個,這里我寫了http://localhost/。七月的,配置permission的時候,照做即可,別忘記點下面的保存。

 

添加引用

在VS工程里面,按照上面指南,management libraries是沒問題的。但是注意第二個,AD auth的,搜索之后找到的,不是原文中的Active Directory Authentication Library,而是Microsoft.IdentityModel.Clients.ActiveDirectory(我擦,整天改名字,好玩嗎?!)

 

修改配置

按照指南,把那一坨appSettings內容添加到app.config文件中,然后把OAUTH2對應的endpoint的GUID替換到app.config中的id-of-tenent。在另一個portal界面中,把id-of-client的值也替換到app.config文件中。

截止到step7為止,替換redirectUri遺跡subScriptionId。step8及之后,暫時不修改。

 

Token

按照指南做即可。此時就可以做驗證了,在你的入口方法中調用GetAuthorizationHeader,如果能彈出來微軟的ADFS認證窗口,并且你輸入你自己的azure的管理員賬號與密碼,驗證成功后,那么就沒問題了。

這時,可以初步驗證我們的代碼了:

        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;
        }
View Code

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜

    大師兄 發表在 痞客邦 留言(0) 人氣()