Обновить

Комментарии 6

А что вы будете делать, если при авторизации через OAuth произойдёт не открытие вкладки или окна, а просто переход по ссылке? Всё будет происходить в той же вкладке. Я такое много раз видел на многих сайтах, но сходу, к сожалению, не вспомню

Открытие окна соц. сети происходит контролируемо, фронт формирует ссылку и открывает ее так как нужно. На случай если пользователь закроет окно социальной сети форма авторизации не блокируется и канал создается всегда строго 1 сколько бы клиент не кликнул на авторизацию через социальную сеть.

Задача была сделать так чтобы после авторизации пользователь на той же странице продолжил работать, если даже какие то параметры передавать в state то для каждого кейса они будут разными и это ад для тестирования + это не решит проблемы когда нужно по логике глубоко провалиться в страницу чтобы продолжить с того же шага.

Вам не нужно там хранить никакие параметры, в стейте хранится референс на объект на бэкенде, который может, например, содержать информацию о том, с какого адреса изначально произошел редирект на авторизацию.

Вы в вопросах авторизации городите не очень стандартную историю, передавая чувствительный код авторизации через postMessage. Ну ок, надеюсь, вы позаботились о том, чтобы он как минимум не утекал на чужие origin'ы.

Решение не стандартное, но даже если передать в state ссылку куда направить пользователя мы теряем состояние страницы на момент авторизации и пользователю приходится делать все по новой. Есть такой кейс, на странице пакета когда перед тем как приступить к оформлению заказа нужно пройти актуализацию пакета, этот процесс может быть не быстрым и только после него пользователь видит либо форму заполнения перс данных либо авторизацию, заставлять его проходить это по новой после авторизации очень не хочется.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
evrone.ru
Дата регистрации
Дата основания
2008
Численность
101–200 человек
Местоположение
Россия