Facebook Connect для одного приложения с несколькими доменами? - PullRequest
27 голосов
/ 13 декабря 2010

Я внедряю плагин, который можно встраивать в разные сайты (например, Meebo, Wibiya), и я хочу использовать Facebook Connect. Предполагается, что плагин может быть встроен в сайты с разными доменными именами. Проблема в том, что Facebook connect позволяет использовать только один домен для каждого приложения, которое вы регистрируете.

Вопрос в том, как я могу иметь несколько доменов для одного приложения Facebook, предполагая:

  1. Когда пользователи «Разрешают» приложение на одном сайте, им не нужно будет «Разрешать» его и на других сайтах.

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

Есть ли способ сделать это?
Если нет, мой единственный вариант - управлять всеми входами в систему с одного домена и передавать файлы cookie обратно на исходные домены?
И если я передам файлы cookie между доменами, как я могу быть уверен, что Facebook не заблокирует такого рода поведение в будущем?

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

Ответы [ 2 ]

2 голосов
/ 15 декабря 2010

Я предполагаю, что вы используете facebook.php от Naitik Shah? Конечно, ваш виджет должен быть на каждой странице и содержать асинхронный скрипт connect-js . В настоящее время я занимаюсь разработкой приложения для входа на Facebook.

Я бы сказал, что лучшее решение - это войти в систему через собственный домен и передать cookie. Ваше приложение / виджет будет единственным, с которым они смогут делиться информацией. Ничто не должно отличаться в работе от одностраничного решения. Я предполагаю плагин PHP, который выполняет вход в систему с внешнего домена и передает через cookie на сайт через виджет. верните куки-файл надежно, как вы хотите (за исключением чего-то хитрого, такого как сохранение его в div и извлечение его ... или что-то, что хакер может попытаться подделать). Затем сайт будет использовать cookie для целей учетной записи и идентификатора пользователя, а виджет будет управлять всеми действиями при входе в систему и поиском сеанса с помощью асинхронного сценария (но маршрутизируемого через другой домен).

Извините, я не могу помочь, но это единственное решение, о котором я могу подумать, и, кажется, вы уже все равно.

С точки зрения сохранения контроля над сессиями в разных доменах, вам нужен только сторонний файл cookie, чтобы быть активным. Как только ваша страница активирована для вашего домена, у вас уже будет файл cookie для этого домена, если вы не вышли из системы или срок ее действия не истек. Преимущество использования внешнего домена управления.

Казалось бы, это также самый надежный способ по сравнению с любым успешным взломом для нескольких доменов, потому что я считаю, что fb и Oauth2.0 работают с одобренной информацией о совместном использовании (cookie) сторонней стороной, утвержденной утвержденной вечеринка. Но .. Это может быть проблематично, если они думают, что у пользователя будут проблемы с конфиденциальностью, потому что вы потенциально можете поделиться cookie на любом сайте без разрешения пользователя. Поэтому вы должны быть осторожны, уведомляя пользователя обо всех сайтах, на которые он будет автоматически входить, и относясь к ним с уважением.

Удачи с этим, надеюсь, вы дадите нам знать, как оно идет.

0 голосов
/ 29 июня 2015

Существует простая и чистая техника -> Single Sign On (SSO).Вы можете искать об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...