Я создал образец Azure Функция, ничего сложного, просто Hello, World. Приложение было зарегистрировано в AAD, и функция настроена для аутентификации AAD, а уровень авторизации установлен на Anonymous. С помощью браузера я могу перейти к URL-адресу функции, попросить войти в систему и получить ожидаемые результаты. При использовании клиента C# после получения токена (который совпадает с токеном, используемым в браузере) я получаю 401 несанкционированный результат. Я также пробовал Почтальон с теми же результатами; 401 «У вас нет разрешения на просмотр этого каталога или страницы.»
var clientCredential = new ClientCredential("16c17039-xxxx-4514-xxxx-fc68a97fxxxx", "00000009q_XwxPP]oyDo8UqZfAsxxxx");
AuthenticationContext context = new AuthenticationContext("https://login.microsoftonline.com/xxxxx.onmicrosoft.com", false);
AuthenticationResult authResult = await context.AcquireTokenAsync(
"16c17039-xxxx-4514-xxxx-fc68a97fxxxx",
clientCredential);
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authResult.AccessToken);
var response = await client.GetAsync("https://xxxx.azurewebsites.net/api/Sample?code=xxxxx");
response.EnsureSuccessStatusCode();
Очевидно, что мне не хватает какой-то конфигурации, но, похоже, не удается найти причину.