Получение кода ошибки 401 в Angularjs и .Net Web API - PullRequest
0 голосов
/ 23 мая 2019

Я размещаю свое приложение .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

...