librown
@librown
На-все-руки-мастер и немного кодер

Как автоматически сабмитить форму после редиректа от oauth-провайдера?

Привет!

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

Итак сценарий:

Шаг 1: Пользователь сейчас не авторизован, заполняет форму, нажимает "Отправить", появляется модальное окно для входа (логин/пароль или вход через соцсети).

Шаг 2: Пользователь кликает по иконке соцсети, проходит авторизацию e outh-провайдера и в конце его обратно перекидывает на искомую страницу

Шаг 3. Искомая страница понимает что пользователь теперь вошел на сайт и АВТОМАТИЧЕСКИ отправляет заполненную форму на сервер.

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

Как сейчас сделал:
Перед редиректом сохраняю серилизованную форму во временную куку, а так же устанавливаю сессионную переменную-"маркер" $_SESSION['autosubmit'] = true. При возврате на искомую страницу проверяю значения переменных и куки - и сабмичу форму.

Не покидает ощущение, что это кривой путь.
Поделитесь своим опытом? Как правильнее организовать этот процесс?

77baeb1c1b.jpg
  • Вопрос задан
  • 214 просмотров
Пригласить эксперта
Ответы на вопрос 2
@FireGM
Если серверная авторизация, то можно использовать state для передачи информации после редиректа. Например, что это редирект с формой такой-то, данные такие-то.
Ответ написан
Комментировать
Rou1997
@Rou1997
Конечно, кривой, сначала вход, потом заполнение формы, вообще "клиентские" данные и хранить надо на стороне клиента, в localstorage.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы