1

Я разрабатываю некоторые приложения страницы страницы FB, которым нужна информация пользователя FB. Я хочу запросить разрешение пользователя, как только пользователь нажмет на вкладку приложения, установленного на странице. Затем, если я получу информацию о пользователе и странице, которую я смогу продолжить с моим приложением.Как добавить аутентификацию пользователя и запросить дополнительные разрешения пользователей FB на вкладке вкладки facebook?

Проблема в том, что я хочу, чтобы пользователь был направлен в диалоговое окно oauth, как только он нажимает на вкладку, а не одним нажатием кнопки. Вот почему я не использую всплывающее окно для получения разрешения пользователя. Всплывающее окно без клика не будет разрешено в большинстве браузеров. То, что я сделал до сих пор используется в «ВХОД брезентом APPS» направления

https://developers.facebook.com/docs/howtos/login/login-for-canvas/

Это позволяет мне направить пользователю OAuth диалог, как только он попадает на вкладку, а также есть обратный вызов, который заставляет меня разрешение пользователя и запустить приложение в качестве приложения Canvas, чего я действительно не хочу. Проблема заключается в том, что я получаю идентификатор страницы, когда пользователь попадает на вкладку, но когда пользователь возвращается к URL обратного вызова, объект запроса содержит информацию о пользователе, а не идентификатор страницы. Я попытался сохранить идентификатор страницы в сеансе, но как-то он уничтожается, когда приложение возвращает URL-адрес обратного вызова. Я мог бы сохранить его в БД и снова получить к нему доступ, но я не уверен, что должен это делать.

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

Я использую Rails и его драгоценный камень omniauth-facebook для этого.

Вот некоторые ссылки, на которых обсуждалась одна и та же проблема, и некоторые предложения были сделаны.

Redirect back to page tab after user authenticates?

Automatically invoking FB.login on Facebook page tab app for non-logged in user

Я начал эту новую нить, как те выше довольно старые. Я знаю, что моя дилемма может быть тривиальной, и я мог бы пропустить какую-то небольшую точку. Но любая помощь была бы действительно оценена.

Пожалуйста, сообщите, есть ли какой-либо код, который вам нужен, чтобы сделать мой вопрос более ясным.

ответ

0

Проблема в том, что я хочу, чтобы пользователь был направлен в диалоговое окно oauth, как только он набрал вкладку, а не одним нажатием кнопки. Вот почему я не использую всплывающее окно для получения разрешения пользователя. Всплывающее окно без клика не будет разрешено в большинстве браузеров.

Внутри вкладки холст/страница приложения, вы можете установить параметр display: "async" (в том же объекте, который вы используете, чтобы передать параметр scope) при вызове FB.login - таким образом, он не будет открывать всплывающее окно, но вид модального диалога, который открывается на всей странице Facebook; и потому что это не всплывающее окно real, оно не блокируется даже при вызове непосредственно на загрузку страницы без какого-либо взаимодействия с пользователем.

Смежные вопросы