我有一个 ASP.NET 应用程序,我正在尝试连接到 Azure 监控 API,但不断收到以下异常。我尝试按照有关如何向我的应用程序的服务主体(或其他内容)添加角色的 powershell 教程进行操作,但似乎没有任何效果,而且我不确定是否需要这样做:
ForbiddenError:服务器未能对请求进行身份验证。验证证书是否有效并且与此订阅相关联。
代码:
var cred = new ClientCredential(clientId, secret);
var context = new Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext(string.Format(
login,
tenantId));
var task = context
.AcquireTokenAsync(apiEndpoint, cred);
task.Wait();
var result = task.Result;
var subCreds = new Microsoft.Azure.TokenCloudCredentials(subscriptionId, result.AccessToken); //good AccessToken at this point
var alertsClient = new Microsoft.WindowsAzure.Management.Monitoring.Alerts.AlertsClient(subCreds);
var t = c.Incidents.ListActiveForSubscriptionAsync(new System.Threading.CancellationToken());
t.Wait(); //exception at this point