Заставить веб-просмотр Messenger в браузере не открывать новую вкладку

Можно ли сохранить поток пользователей внутри веб-представления мессенджера?

Мой пользовательский поток:

  • Кнопка открывает веб-представление
  • Пользователь заполняет несколько полей для аутентификации
  • Пользователь перенаправлен для оплаты - это открывается в новой вкладке
  • Платежный сайт перенаправляет пользователя обратно на исходный хост.

По какой-то причине браузеры, как правило, очищают localStorage, что нарушает мой код при окончательном перенаправлении (я сохраняю токен авторизации в localStorage для доступа к серверной части). Я думаю, что мои проблемы были бы решены, если бы браузер Messenger не открывал новую вкладку.

На мобильных устройствах все работает нормально.


person Bence Gedai    schedule 15.12.2017    source источник
comment
Надеюсь, вы знаете, что в соответствии с Политикой платформы Messenger вам не разрешено перенаправлять пользователей из мессенджера в сторонние сайты, которые собирают платежную информацию без предварительного запроса разрешения Facebook.   -  person CBroe    schedule 16.12.2017
comment
@CBroe Спасибо, что указали на это! Вы знаете, куда я могу обратиться за этим разрешением?   -  person Bence Gedai    schedule 18.12.2017
comment
Ссылка на форму для подачи заявки находится тут же, где написано, что...   -  person CBroe    schedule 18.12.2017
comment
Я действительно не знаю, какую часть текста вы имеете в виду...   -  person Bence Gedai    schedule 18.12.2017
comment
facebook.com/help/contact/919889051467941   -  person CBroe    schedule 18.12.2017


Ответы (1)


Да, можно запускать веб-просмотры в мессенджере с помощью Messenger Extensions (SDK). Вы должны внести домены в белый список и вернуть параметры заголовка:

X-Frame-Options: ALLOW-FROM https://www.messenger.com/
X-Frame-Options: ALLOW-FROM https://www.facebook.com/

Однако есть некоторые неподдерживаемые функции для Интернета, которые доступны только для мобильного приложения Messenger:

  • webview_height_ratio
  • webview_share_button
  • Кнопки возврата назад
  • Название диалога
  • Закрытие веб-просмотра через перенаправление URL
  • получитьидентификатор пользователя ()
  • Платежи

Поскольку вы упомянули сайт оплаты, это все еще может быть проблемой. Дополнительную информацию о расширениях Messenger вы можете найти здесь: Документация SDK Facebook Messenger и в этой статье: Веб-просмотры в Messenger.com

person andi79h    schedule 15.12.2017
comment
То есть я не могу заставить это, если у меня нет контроля над используемыми веб-сайтами? Я не могу установить этот заголовок на сайте оплаты. - person Bence Gedai; 16.12.2017
comment
Хорошо, что я действительно не знаю. Вы можете попробовать использовать свой собственный сервер для веб-просмотра, а затем перенаправить или iframe на своей странице в платежную систему. - person andi79h; 16.12.2017