2012-06-26 4 views
0

Я создаю виджет, который можно разместить на разных сайтах, и будет иметь возможность войти в систему через facebook, чтобы подключиться к учетным записям на родительском сайте виджета. Я собирался использовать JS SDK для этого, но виджет, скорее всего, будет размещен на сайтах с уже инициализированным на них FB JS SDK с другим идентификатором приложения, и если бы я должен был запускать код таким образом, он мог бы привести к проблеме пространства имен.Использование API Facebook в виджетах

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

Первая проблема, я подумал о том, что на сайте Facebook DOCS это говорит

Для безопасности, redirect_uri должен иметь тот же базовый домен, как указано в приложении Доменное свойство настроек вашего приложения или URL-адрес формы https://apps.facebook.com/YOUR_APP_NAMESPACE.

Как вернуть людей на исходную страницу, которую виджет разместил после входа? Есть ли лучший подход к этой проблеме?

ответ

1

вы можете использовать проверку подлинности на стороне сервера и redirect_uri на ваш сайт, который будет перенаправлять на различные сайта

redirect_uri = https://www.mydomain.com/?r=https%3A%2F%2Fwww.somesite.me

На вас сервере вы будете смотреть на парам запрос г и перенаправить запрос на г стоимость.

Вы также можете сделать свою собственную аутентификацию для пользователей (при первом входе в систему) и хранить там facebook access_token в вашей БД, как только ваш виджет будет запущен (под https), и вы идентифицировали пользователя при своей аутентификации, вы можете отправить клиент виджета user_token пользователя и работать с ним.

Вы даже можете создать свою собственную простой FB-как библиотеку AJAX, для большинства вещей это будет просто прибудет/пост/ставить вызовы с access_token в качестве параметра URL-адреса

надеется, что это помогает

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