Когда следует использовать потоки аутентификации Facebook на стороне сервера и на стороне клиента? - PullRequest
23 голосов
/ 16 ноября 2011

Facebook имеет два потока для аутентификации, на стороне клиента и на стороне сервера.Когда следует использовать каждый из них?

Документы Facebook: https://developers.facebook.com/docs/authentication/

Возможно, связанные: Какова цель неявного разрешения на предоставление в OAuth 2?*

Ответы [ 2 ]

13 голосов
/ 16 ноября 2011

В зависимости от ваших потребностей вы можете использовать один или другой или оба. Если вы хотите, чтобы звонки на Facebook обрабатывались до того, как пользователь увидит определенную страницу, используйте серверную часть ... однако, если вы хотите отображать частичную информацию до тех пор, пока пользователь не аутентифицируется, используйте аутентификацию javascript.

Это сводится к этому:

  • Аутентификация Javascript может происходить во всплывающем окне и не требует перезагрузки страницы. Вы также можете просто выполнить перенаправление top.location.href.
  • Аутентификация PHP включает перенаправление на страницу аутентификации.

Также см. этот поток , в частности этот ответ .

0 голосов
/ 26 апреля 2018

Чтобы добавить к ответу @ Lix, я бы сказал:

Аутентификация на стороне клиента

  • Когда вам нужна информация из API Facebook о пользователе, которыйтребуется один раз, так как вам нужно получить его только один раз, как имя пользователя и адрес электронной почты.
  • Когда вы хотите временно получить доступ / управлять информацией / данными пользователя и вам не нужно делать это часто.
  • Вы получаете временный токен, который действует только в течение нескольких часов, и вам нужно получить новый токен для повторного вызова API Facebook после истечения срока его действия (что требует, чтобы пользователь снова предоставил разрешение).

Аутентификация на стороне сервера

  • Вы хотите управлять данными пользователя (от его имени) после того, как пользователь покинул ваш сайт / приложение.Пример регулярного сбора данных канала / временной шкалы пользователя.
  • Когда вы хотите получать доступ к данным / данным пользователя / управлять ими регулярно, пока пользователь не отозвал доступ к вашему идентификатору клиента (представленприложением Facebook).
  • Вы получаете как временный токен, так и постоянный токен (который длится около 60 дней на момент написания этой статьи).Вы можете получить новый временный токен, используя постоянный токен каждый раз, когда вам нужно вызвать API Facebook (учитывая, что срок действия предыдущего временного токена истек) - не мешая пользователю снова предоставить разрешение.

Таким образом, вкратце, для кратковременного использования выполните процедуру аутентификации на стороне клиента, а для долгосрочного использования - аутентификацию на стороне сервера (если у вас есть собственный внутренний сервер).

...