Определите контекст
Передавайте в окно только необходимый контекст: пользователя, аккаунт и выбранную сущность. Сервер должен проверять право пользователя на этот контекст. Параметр URL с номером сделки не является доказательством доступа.
Защитите обмен
Согласуйте допустимые источники сообщений между окном и родительской страницей. При использовании postMessage проверяйте origin и структуру данных. Не передавайте долгоживущий секрет через адрес iframe или клиентский код.
Проверьте ограничения браузера
Испытайте истечение сессии, открытие в другой вкладке и ограничения cookies. Для пустого окна сначала отделите ошибку авторизации от запрета встраивания. Пользователь должен получить понятное действие для восстановления сессии, а не бесконечный пустой экран.
Пример проверки
После смены аккаунта старая вкладка больше не показывает чужой диалог и предлагает повторно подтвердить текущий доступ.
Перед следующим шагом
- Проверяются права на диалог
- Ограничен origin обмена
- Есть обработка истёкшей сессии