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