У меня есть API, размещенный в Azure, с включенной аутентификацией AD. При просмотре URL-адреса он запрашивает аутентификацию, а при вводе учетных данных API работает нормально. Но при вызове API в приложении Postman с методом Get с аутентификацией Basi c и методами аутентификации Oauth2 получается 401 несанкционированная ошибка.
Получены идентификатор клиента, секретный ключ, идентификатор арендатора.
URI приложения в приложении Ad совпадает с URL-адресом веб-приложения без знака "/", заканчивающегося на. Дали вход и разрешение на чтение для API в рекламном приложении.
$.ajax({
"async": true,
"crossDomain": true,
"url": "https://login.microsoftonline.com/tenantID/oauth2/token",
"method": "POST",
"headers": {
"Accept": "*/*",
"Cache-Control": "no-cache",
"content-type": "application/x-www-form-urlencoded"
},
"data": {
"grant_type": "client_credentials",
"client_id ": "********************",
"client_secret": "********************",
"scope ": "https://graph.windows.net"
},
success: function (response) {
console.log(response);
token = response.access_token;
$.ajax({
url: "https://azure.azurewebsites.net/api/example",
type: "GET",
"async": true,
"crossDomain": true,
dataType: "json",
useDefaultXhrHeader: false,
headers: {
"Accept": "*/*",
"Cache-Control": "no-cache",
"content-Type": "application/json;odata=verbose",
"authorization": "Bearer " + response.access_token
},
success: function (data) {
console.log(data);
}
});
}
});
Я что-то пропустил при настройке приложения AD для веб-приложения? Также приведенный выше код предназначен для получения токена доступа и вызова API с использованием этого токена доступа. Буду признателен за любую оказанную помощь.
Заранее спасибо