У меня есть служба, которая получает токен доступа из Azure AD.У меня есть API, который я хотел бы принять этот токен в качестве авторизации.
Мой сервисный код для вызова API -
HttpClient client = new HttpClient()
{
BaseAddress = new Uri("https://localhost:44372/")
};
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, client.BaseAddress + "api/todolist");
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken);
HttpResponseMessage response = await client.SendAsync(request);
Ответ, который я получаю, - 401 - Unauthorized
.
У меня такое ощущение, что проблема в функции API ConfigureServices
;в частности (это было взято из примера, поэтому я пока не знаю, что это значит):
services.Configure<JwtBearerOptions>(AzureADDefaults.JwtBearerAuthenticationScheme, options =>
{
options.TokenValidationParameters.RoleClaimType = "roles";
});
Я новичок в Azure и аутентификации в целом, поэтому не знаю, какие есть вариантыдоступно или уместно.Я также не уверен, как настроить приложения в Azure, чтобы разрешить это.У меня есть идентификатор приложения службы, настроенный как авторизованное клиентское приложение API;он также указан в известных клиентских приложениях в манифесте API.
Нужно повернуть так много ручек, что я не знаю, куда идти дальше.Если кто-нибудь может дать мне знать, что можно попробовать, это будет замечательно.
Спасибо