MVC AD Azure Обновить токен через ADAL JavaScript Ajax и KnockoutJs
В типе приложения MVC, которое я создал, есть свойственный недостаток дизайна, и я считаю, что я не первый, кто это осознает.
У меня есть приложение MVC 4, которое использует аутентификацию AD Azure, которая была введена в приложение следующим образом
Разработка приложений ASP.NET с Azure Active Directory
Один раз как пользователь прошел аутентификацию иHome.cshtml
загружает, KnockoutJs используется для выполнения JavaScript AJAX POST и GET запросов на чтение и запись данных.
Так что не только одностраничное приложение, а скорее смесь традиционных обратных передач для аутентификации и обслуживания активов и операций чтения / записи через AJAX.
Во время запросов AJAX срок действия маркера аутентификации истекает, и AD не может обновить токен с помощью JavaScript.
Наблюдается следующая ошибка браузера
XMLHttpRequest не может загрузитьhttps://login.windows.net/xxx, В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Следовательно, происхождение 'xxx' не разрешено.
Я исследовал adal.js и следующие посты, но не уверен, является ли adal.js решением для моего типа приложения или как его лучше всего использовать, чтобы оно работало с моим типом приложения.
Мое понимание до сих пор:
Я не использую AngularJS.
Я не начинаю аутентификацию с помощью JavaScript, и моя аутентификация не основана на JavaScript, чтобы иметь возможность использовать adal.js.
Аутентификация выполняется на стороне сервера, и последующий механизм маркера обновления OAuth2 требует полных обратных передач.
Я наткнулся на различные опубликованные посты Витторио Берточчи, но ни один из них не посвящен особенностям такого дизайна приложений MVC.
ADAL, Windows Azure AD и токены обновления с несколькими ресурсами
WAAD не обновляет токен доступа из JavaScript
Объединение ADAL.Net и ADAL.js
AngularJS + ADAL.JS установить идентификатор ресурса (аудитория)