Я размещаю свое приложение .Net API (клиент находится в Angularjs) на windows server 2016. В настоящее время HTTP / 2 по умолчанию включен на windows server 2016, из-за которого я получаю ошибку авторизации с кодом ошибки 401 при входе в систему.
Это приложение отлично работает на Windows server 2012 R2
В логах:
2019-05-22
05: 04: 45,5726 | ERROR | ParseHeaderHandler | ATI.Oasis.Web.API.Core.Utilities.Message
Handlers.ParseHeaderHandler.HandleError | RequestID b646b6a8-c20c-4dc7-b360-
0e5664478935 | Токен авторизации отсутствует или недействителен. |
Текущий веб-интерфейс поддерживает 4.7.2 .net framework, а клиентская часть находится в Angularjs.
Я использую следующий код для входа в систему:
function getUnauthenticated(url, hideLoading, hideError) {
if (!hideLoading) {
LoadingService.show();
}
console.log('HOSTNAME:' + getHost());
console.log('URL:' + url);
var request = $http.get(getHost() + url, { headers: { 'Key': getAccessKey() }, withCredentials: true });
console.log('GET:' + getHost() + url);
console.log('withcredential - true');
console.log(request);
if (hideError) {
return (request.then(handleSuccess, handleErrorWithoutPopup));
} else {
return (request.then(handleSuccess, handleError));
}
}
function getAccessKey() {
return sessionStorage.AccessKey;
}
Заголовки запроса и ответа на вызов GET (ссылка на изображение)
Вопрос: Несанкционированная ошибка (401) при доступе к webapi из angularjs