我正在尝试使用客户端密钥向 Azure 数据目录发出 API 调用,但是我收到了 Permission denied 错误。
我能够创建令牌,并且在 AAD 中为客户端应用程序提供了必要的权限。
如果我将身份验证方法更改为使用用户登录的委托访问,它可以工作,但如果我尝试使用客户端密码,则生成的令牌没有适当的权限。
这是我使用各种示例更改的一些代码
此代码中的令牌有效
//get the token
authResult = await authContext.AcquireTokenAsync(resourceUri, clientId, new Uri(redirectUri), new PlatformParameters(PromptBehavior.Always));
//the token from this code doesn't work
IConfidentialClientApplication app;
app = ConfidentialClientApplicationBuilder.Create(clientId)
.WithClientSecret(clientSecret)
.WithAuthority(new Uri(authorityuri))
.Build();
string[] scopes = new string[] { "https://api.azuredatacatalog.com/.default" };
result = await app.AcquireTokenForClient(scopes);
我收到此错误远程服务器返回错误:
(403) AccessDenied : 拒绝访问..