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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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