我大部分基於我對this post的工作,奠定了一些基礎的。
您需要先在Azure AD中創建本機應用程序並添加Windows Azure服務管理API權限。
的客戶端ID 從該應用程序獲得的。
這是我目前使用獲得令牌可以與管理SDK中使用的代碼:
string userName = "yourUserName";
string password = "yourPassword";
string directoryName = "yourDirectory.onmicrosoft.com";
string clientId = "{ClientId obtained by creating an App in the Active Directory}";
var credentials= new UserPasswordCredential(string.Format("{0}@{1}", userName, directoryName), password);
var authenticationContext = new AuthenticationContext("https://login.windows.net/" + directoryName);
var result = await authenticationContext.AcquireTokenAsync("https://management.core.windows.net/", clientID, credentials);
var jwtToken = result.AccessToken;
//Example accesing Azure Cdn Management API
string subscriptionId = "xxxx-xxxxxx-xxxx-xxxxxxx";
using (var cdn = new CdnManagementClient(new TokenCredentials(jwtToken)) { SubscriptionId = subscriptionId })
{
//do something...
}
你的目錄名可以在Azure門戶可以獲得> Azure的AD部分,上域名。
我的應用程序是在蔚藍的網站託管:https://AppHostedName.azurewebsites.net/ 我的例子目錄名稱將是「AppHopstedName」? –
您可以在Azure上看到目錄名稱,轉到Azure AD服務並檢查**域名**。我編輯了包含屏幕截圖的答案。 –
謝謝Matias,你幫了我很多 –