Проверьте аутентификацию пользователя с «сайта a» на «сайте b» - PullRequest
0 голосов
/ 27 декабря 2011

У меня «маленькая» проблема.

Я работаю над проектом для школы в Ruby on Rails: платформой, где люди могут делиться вещами друг с другом. Недавно я начал работать над виджетами, которые люди могут размещать на своем сайте.

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

Я пытался использовать Facebook SDK, но не смог заставить его работать, потому что это ограничено доменом. Хотя я думаю, что Facebook не был бы лучшим вариантом, потому что тогда он доступен только для людей, чья учетная запись Facebook связана с их учетной записью на моем веб-сайте.

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

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Если A и b находятся в одном домене с поддоменами, вы можете использовать куки для хранения токена аутентификации, и в этом случае это будет работать.

Если нет, вы можете использовать OAuth, например http://en.wikipedia.org/wiki/OAuth. У Ruby есть куча драгоценных камней, чтобы поддержать это. Devise имеет интеграцию с OAuth и authlogic. Твиттер использует это широко.

Также есть CAS и WebAUTH, которые делают то же самое.

0 голосов
/ 30 декабря 2011

Вы можете указать оба домена (A и B) в настройках приложения в разделе Basic в поле App Domain . Это позволит вам использовать Facebook JS-SDK на обоих сайтах с одинаковым идентификатором приложения.

Вы должны понимать, что это позволит обоим сайтам получать доступ к личной информации ваших пользователей, и это следует делать, только если у вас есть контроль над этими сайтами, поскольку вы несете ответственность за приложение, использующее JS-SDK

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