改写后的代码示例:
var authority = "https://login.microsoftonline.com/{tenantId}";
var clientId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
var clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
var scopes = new[] { "api://xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/access_as_user" };
var app = ConfidentialClientApplicationBuilder.Create(clientId)
.WithClientSecret(clientSecret)
.WithAuthority(new Uri(authority))
.Build();
var result = await app.AcquireTokenForClient(scopes)
.ExecuteAsync();
解决方法说明: 通过ConfidentialClientApplicationBuilder创建ConfidentialClientApplication实例,以获取token。在AcquireTokenForClient方法中传入所需的权限,即scopes。