2016-06-07 52 views
4

我有以下代碼:最簡單的方式來訪問蔚藍編程

var client = new WebSiteManagementClient(creds); 
var data = client.WebSites.Get("eastuswebspace", "some-site", new WebSiteGetParameters()); 

我需要生成憑證,我有完全訪問權限的管理員。只有一個應用程序訪問我的數據並需要生成TokenCloudCredentials。

我試着註冊一個應用程序,但成功生成令牌後出現「禁止」錯誤。有沒有最簡單的方法來做到這一點(比如Github,生成一個令牌並完成?)。

謝謝。

+0

您是使用Azure服務管理還是Azure資源管理器來創建Azure Web App?你使用的是什麼特定的nuget和版本? – juvchan

回答

2

我設法使它與以下代碼段一起工作。它只需要證書。檢查是否適合你。 您將需要Azure發佈設置文件(來自該文件的指紋)。

public const string base64EncodedCertificate = "frompublishsettingsfile"; 
    public const string subscriptionId = ""; 

    static SubscriptionCloudCredentials getCredentials() 
    { 
     return new CertificateCloudCredentials(subscriptionId, new X509Certificate2(Convert.FromBase64String(base64EncodedCertificate))); 
    } 
    static void Main(string[] args) 
    { 
     WebSiteManagementClient client = new WebSiteManagementClient(getCredentials()); 
2

要生成令牌證書,你需要創建一個證書,並把它上傳到Azure上。

首先,你可以創建使用此命令行的證書:

makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer" 

然後,有必要按照這個process把它上傳到Azure上。一旦它上傳,就可以得到publishsettings文件,以獲取與該電源外殼命令行的證書管理指紋:

Get-AzurePusblishSettingsFile 

下面的屏幕截圖顯示了在哪裏可以找到在publishprofile證書管理指紋:

enter image description here

然後,您可以使用Alex Belotserkovskiy提出的代碼來獲得Azure Management SDK的身份驗證。

Here是一個完整的博客文章,顯示所有步驟。