Как единый вход в Facebook работает под капотом? - PullRequest
4 голосов
/ 25 ноября 2010

Я использую новый javascript sdk, и я занимаюсь локальной разработкой (т. Е. Нет размещенного сервера).

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

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

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

1 Ответ

2 голосов
/ 25 ноября 2010

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

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

...