我也可以在我的身边复制它。我通过实现自定义serviceclientcredentials解决了这个问题。下面是演示代码。
public class CustomCredentials : ServiceClientCredentials
{
private string AuthenticationToken { get; set; }
public override void InitializeServiceClient<T>(ServiceClient<T> client)
{
var authenticationContext =
new AuthenticationContext("https://login.windows.net/yourtenantId");
var credential = new ClientCredential("clientid", clientSecret: "secret key");
var result = authenticationContext.AcquireTokenAsync("https://management.azure.com/",
credential).Result;
if (result == null)
{
throw new InvalidOperationException("Failed to obtain the JWT token");
}
AuthenticationToken = result.AccessToken;
}
}
2.将authenticate函数更改为以下代码。
public void Authenticate()
{
var monitorClient = new MonitorManagementClient(new CustomCredentials()) { SubscriptionId = "subscription Id" };
MonitorClient = monitorClient;
}
3.在当地测试。