我正在设置迁移到MSAL,但JWT令牌缺少aud: 这是WPF桌面应用程序,可调用Web api(ASP.Net)
.WithAuthority(AzureCloudInstance.AzurePublic, Tenant)
.WithDefaultRedirectUri()
.Build();
我已将范围设置为,以匹配在webapi(应用程序注册)中设置的范围
string[] scopes = new string[] { "https://*******.azurewebsites.net/access_as_user" };
然后打电话
var accounts = await App.PublicClientApp.GetAccountsAsync();
AuthenticationResult authResult;
try
{
authResult = await App.PublicClientApp
.AcquireTokenSilent(scopes, accounts.FirstOrDefault())
.ExecuteAsync();
}
catch (Exception)
{
authResult = await App.PublicClientApp
.AcquireTokenInteractive(scopes)
.ExecuteAsync();
}
返回的JWT令牌始终缺少aud:
然后我调用一个简单的测试来查看代码是否可以工作。
var httpClient = new System.Net.Http.HttpClient();
System.Net.Http.HttpResponseMessage response;
var request = new System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, "https://****.azurewebsites.net/api/Combo/getComboList");
//Add the token in Authorization header
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authResult.AccessToken);
response = await httpClient.SendAsync(request);
var content = await response.Content.ReadAsStringAsync();
我总是出错。 您无权查看此目录或页面。 任何指针将不胜感激。 谢谢