我有一个我正在编写的 aspnetcore 应用程序,并且希望能够管理 WVD 资源。我遇到的问题是我从 Msal 获得的 Bearer 令牌在我尝试时给了我 401
GET https://rdweb.wvd.microsoft.com/api/feeddiscovery/webfeeddiscovery.aspx
我想也许我需要在 azure 中为我的应用程序添加 API 权限,但我已经添加了:
https://management.azure.com/user_impersonation
而且我似乎找不到任何表明它可能适用于 WVD 的东西。
也许我偏离了轨道。
我试过查看源代码:
https://github.com/Azure/RDS-Templates/tree/master/wvd-templates/wvd-management-ux/deploy
但是它被编译和缩小,所以这被证明是困难的。
获得有效令牌以调用 WVD Rest API 的任何帮助将不胜感激。
获取令牌:
完整代码(减去 Microsoft.Identity.Web 的东西)
var token = await TokenAcquisition.GetAccessTokenOnBehalfOfUserAsync(new[] { "https://mrs-Prod.ame.gbl/mrs-RDInfra-prod/user_impersonation" });
var httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("https://rdweb.wvd.microsoft.com/");
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", $"{token}");
var result = await httpClient.GetAsync("api/hubdiscovery/eventhubdiscovery.aspx");
result = await httpClient.GetAsync("api/feeddiscovery/webfeeddiscovery.aspx");