2010-11-25 2 views
4

Я использую новый javascript sdk, и я разрабатываю локально (то есть без хостинга сервера).Как работает подпишись facebook под капотом?

Я успешно смог получить токен доступа, который js api хранит в cookie для домена localhost. Однако я не понимаю:

  • Как fb js может установить файл cookie для localhost. Разве это не противоречит той же политике происхождения?
  • Если fb использует протокол Oauth 2.0 для аутентификации/авторизации, как единственный вход, способный получить токен доступа, даже если я не указал URL-адрес обратного вызова и нет перенаправления с моей главной страницы.

Может кто-то демистифицировать то, что происходит под капотом здесь?

ответ

2

FB JS может устанавливать файлы cookie на локальном хосте, поскольку вы включаете в себя FB JS SDK в своем домене через тег <script>, предоставляя им доступ к вашим файлам cookie (точно так же, как Google Analytics пишет файлы cookie для вашего домена) ,

OAuth 2.0 включает в себя перенаправление на ваш сайт, для Facebook нет другого способа вернуть code для вашего приложения, чтобы получить access_token.

+0

Меня смутило то, что файлы cookie с двух доменов, facebook.com и localhost, устанавливаются во время потока. Всплывающее окно устанавливает fb.com, а fb js (который встроен в исходный документ) устанавливает localhost, правильно? о перенаправлении, как может fb перенаправить на localhost? Мой компьютер находится за маршрутизатором, и у меня даже нет перенаправления портов для сервера localhost. Может ли здесь что-то еще? – 2010-11-27 01:43:32

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