1
我Xamarin应用(PCL)调用Web API如下图所示的代码:集成天青AD B2C与Xamarin应用
AuthenticationResult ar = await new AuthHelper().AcquireTokenSilentAsync();
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(Settings.ApiUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ar.Token);
using (HttpResponseMessage response = await client.GetAsync("api/job"))
{
response.EnsureSuccessStatusCode();
using (HttpContent content = response.Content)
{
string result = await content.ReadAsStringAsync();
return result != null ? JsonConvert.DeserializeObject<ObservableCollection<JobTask>>(result) : null;
}
}
}
我的Web API被授权如下:
[Authorize(Roles = "Admin,BusinessAdmin")]
我我正在使用Azure AD B2C获取令牌。我可以从Azure AD Graph获取用户角色。我不确定的是如何将从图表查询返回的角色添加到传递给Web API的AuthenticationResult.Token
中。