Angular + .NET (Azure AD BFF): обработка ошибки 401 из-за истечения срока действия токена без потери несохраненных данныC#

Место общения программистов C#
Anonymous
Angular + .NET (Azure AD BFF): обработка ошибки 401 из-за истечения срока действия токена без потери несохраненных данны

Сообщение Anonymous »

Я работаю над внешним интерфейсом Angular с серверной частью .NET BFF, защищенной с помощью аутентификации Azure AD (на основе файлов cookie, токены не хранятся в локальном/сессионном хранилище).
Текущая настройка:
  • Внешняя часть: Angular
  • Внутренняя часть: .NET BFF с Microsoft.Identity.Web / AzureAD
  • Аутентификация: на основе файлов cookie (файл cookie BFF, например имя проекта.BFF)
  • Токен доступа в localStorage/sessionStorage отсутствует (по дизайну)
  • На внешнем интерфейсе перехватчик HTTP перенаправляет на несанкционированную страницу 401
  • Форма содержит переключатели + поле для комментариев, около 60 вопросов
  • Данные конфиденциальны, поэтому использование localStorage запрещено
Проблема
  • Пользователи могут потратить 30–45 минут на заполнение форма. Если срок действия сеанса/токена истекает в течение этого времени:
  • Автосохранение или отправка вызовов API завершается с ошибкой 401.
  • Пользователь перенаправляется на неавторизованную страницу входа.
  • Несохраненные данные формы теряются.
Чего я хочу достичь:
  • Автоматическое сохранение данных формы в базе данных (а не в localStorage)
  • Правильно обрабатывать 401 из-за истечения срока действия токена/сессии
  • Обеспечить отсутствие потери данных, даже если пользователь повторная аутентификация
  • Избегайте плохих практик


Подробнее здесь: https://stackoverflow.com/questions/798 ... t-losing-u

Вернуться в «C#»