我有以下代码:
var client = new WebSiteManagementClient(creds);
var data = client.WebSites.Get("eastuswebspace", "some-site", new WebSiteGetParameters());
我需要生成凭据,我是具有完全访问权限的管理员。只有一个应用程序访问我的数据并需要生成TokenCloudCredentials。
我尝试注册一个应用程序,但得到了一个禁止的#34;成功生成令牌后出错。有没有最简单的方法(像Github,生成一个令牌并完成它?)。
感谢。
答案 0 :(得分: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());
答案 1 :(得分:2)
要生成令牌凭据,您需要创建证书并将其上载到Azure上。
首先,您可以使用以下命令行创建证书:
makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"
然后,有必要按照此process将其上传到Azure上。上传后,您可以使用此power shell命令行获取publishsettings文件以获取证书管理指纹:
Get-AzurePusblishSettingsFile
以下屏幕截图显示了在publishprofile中找到证书管理指纹的位置:
然后,您可以使用 Alex Belotserkovskiy 提出的代码通过Azure Management SDK进行身份验证。
Here是一篇完整的博客文章,其中显示了所有步骤。