Я последовал этому примеру (https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad) и выбрал «OAuth 2.0» в «Настройках> Авторизация пользователя» для Echo API.
Затем я создал html-файл и активировал ajaxвызов Echo API "https://{myapi}.azure -api.net / echo / resource-cached? param1 = sample"
Я предполагаю, что я должен получить сообщение об ошибке "Отказано в доступе или нет авторизации", поскольку предполагается, что этот APIбыть защищенным моим OAuth-сервером (в соответствии с примером, это мой AD). Однако этот ajax-вызов возвращает код состояния: 200. Мне не нужно входить в AD, но я могу использовать API.
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url: "https://{myapi}.azure-api.net/echo/resource?param1=sample"
,headers: {
'Cache-Control':'no-cache',
'Ocp-Apim-Trace':'true',
'Ocp-Apim-Subscription-Key':'xxxxxxxxxxxxxxxxxxxxxx'
}
,success: function(result){
$("#div1").html(JSON.stringify(result));
}
,error : function(result) {
alert(JSON.stringify(result));
}
});
});
});
Я создал еще один API с именем "demo" вручную с ложным ответом. Этот API возвращает json {'sampleField': 'test'}. Мой вызов Ajex получает json без вызова, даже если я применил "OAuth 2.0" как«Авторизация пользователя» в этом API.
Есть что-то, что я пропустил или неправильно понял, как это работает?