У меня есть проект, написанный на perl-dancer и angular. Я использую Google в качестве системы openId.
На некоторых моих страницах есть сетка редактирования с кнопкой сохранения. Чтобы избежать потери несохраненных данных по истечении срока действия сеанса (сеанс, созданный из perl-dancer), у меня есть угловой перехватчик, который прослушивает 401 ошибку сервера и открывает угловой модальный режим, удерживая кнопку «Вход в Google» (это запускается по запросу сервера после сессия истекает).
Я установил открытие формы Google на новой вкладке вместо перенаправления с исходной страницы, чтобы не потерять, возможно, несохраненные данные.
При успешной аутентификации Google новая вкладка перенаправляется на домашнюю страницу проекта, а оригинал остается с открытым модальным окном, удерживающим кнопку «Вход в Google».
Хорошо, теперь новую вкладку можно закрыть, а в исходном окне модальное окно закрыто, а несохраненные данные все еще там.
Но это плохое решение из-за того, что ему не разрешено встраивать форму входа в Google или подобное, кажется ужасным решением с точки зрения взаимодействия с пользователем.
Решения, предложения, помощь?!