我编写了一个工具来设置 Azure Web 应用程序、数据库、存储帐户等。Wt 与一般的 Azure 配合得很好。但是,我现在想将其应用于Azure 中国。现在,我正在寻找正确的 URL,以从 Active Directory 中获取令牌,甚至访问 API 端点。
我将按照这些说明进行操作:https : //msdn.microsoft.com/en-us/library/azure/dn722415.aspx Azure 的这些设置完美运行:
oAuthAuthorizationEndpoint="https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/oauth2/authorize?api-version=1.0"
apiEndpoint="https://management.core.windows.net/"
这些是我正在使用的 Azure 中国网址:
oAuthAuthorizationEndpoint="https://login.chinacloudapi.cn/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/oauth2/authorize?api-version=1.0"
apiEndpoint="https://management.core.chinacloudapi.cn/"
我现在可以使用 TokenCloudCredentials 和上述设置成功登录。
this.Credentials = new TokenCloudCredentials(config.SubscriptionId, this.AuthenticationResult.AccessToken);
this.ResourceManagement = new ResourceManagementClient(this.Credentials, new Uri(config.ApiEndpoint));
var resourceGroups = this.ResourceManagement.ResourceGroups.ListAsync(new ResourceGroupListParameters(), CancellationToken.None).Result.ResourceGroups;
Console.WriteLine("ResourceGroupe: {0}", string.Join(", ", resourceGroups.Select(x => string.Format("{0}", x.Name)).ToArray()));
但是,一旦我尝试访问如上所示的 API,就会收到以下异常:
ForbiddenError: The server failed to authenticate the request. Verify that the certificate is valid and is associated with this subscription.
通过调用引发相同的异常this.ResourceManagement.Providers.RegisterAsync("Microsoft.Storage")
有没有人成功使用过Azure中国的管理API?你是怎么做到的?
我非常有信心我的所有 Guid 都是有效的,并且所有权限都设置正确。因为我将它与我的 Azure 对应物进行了比较。
(向导显然被蒙面了)