Как “Facebook Соединяется”, “Регистрируются с Твиттером”, и т.д. работайте технологически?

Мне любопытно, как эти системы работают технологически. Насколько я понимаю Вы делаете следующее как пользователь:

  1. Перейдите к своему любимому стороннему сайту.
  2. Нажмите кнопку "Facebook Connect".
  3. Уже войдите в Facebook (если не).
  4. Откройте доступ приложению
  5. Вы направляетесь назад на сторонний зарегистрированный сайт.

Но, как сторонний сайт говорит с FB о том, кто Вы? Я могу понять, как это могло получить информацию, в которой это нуждается, когда Вы первоначально открываете доступ приложению, но как это знало бы впоследствии? Вот сценарий:

  1. Вы переходите к Facebook и входите в систему.
  2. Вы затем переходите к своему любимому стороннему сайту (который Вы уже авторизовали).
  3. Это уже знает, что Вы зарегистрированы!
15
задан Mogsdad 18 September 2015 в 03:14
поделиться

3 ответа

Выполняется фоновая проверка связи с использованием IFrame, и если текущая учетная запись уже авторизовала приложение, то в приложение возвращаются маркер доступа и идентификатор пользователя. При этом приложение может решить, что делать (обычно устанавливают файл cookie и обновляют страницу, чтобы сервер мог повторно отобразить страницу, зная, кто вы, на основе только что установленного файла cookie). Если вам интересно, вы можете посмотреть на реализацию Facebook метода JS на стороне клиента под названием FB.getLoginStatus () здесь: http://github.com/facebook/connect-js/ blob / master / src / core / auth.js # L117

10
ответ дан 1 December 2019 в 04:27
поделиться

Проверьте OpenID. Также очень интересна эта презентация: Facebook Connect vs FriendConnect

2
ответ дан 1 December 2019 в 04:27
поделиться

Он использует трехстороннюю систему аутентификации под названием OAuth.

После запуска процесса сторонний сайт подключается к Facebook, и если вы уже вошли в Facebook (сеанс в реальном времени с файлами cookie), он просто использует это и запрашивает разрешение на авторизацию стороннего приложения.

После авторизации он получит auth_token, который сможет использовать для доступа к информации из вашей учетной записи, если вы не отмените его доступ.

3
ответ дан 1 December 2019 в 04:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: