График Facebook аутентифицирует клиентскую и серверную стороны одновременно? - PullRequest
1 голос
/ 21 февраля 2011

Вот что я пытаюсь сделать, используя график facebook на моем сайте rails:

  1. пользовательский клиентский поток для получения пользовательских разрешений и аутентификации пользователя с facebook
  2. отправить полученный на клиенте токен доступа на мой сервер для дополнительной обработки со стороны сервера

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

1 Ответ

1 голос
/ 21 февраля 2011

попробуйте что-то вроде этого в вашем JavaScript:

FB.login(function(response) {
  if (response.session) {
   location.href = '#{authenticate_path}?access_token=' + escape(response.session.access_token);
   }
 }, {perms: 'offline_access'});

Затем вы можете получить доступ к Facebook через гем OAuth2 с указанным токеном доступа:

client = OAuth2::Client.new(<app_id>, <app_secret>, :site => 'https://graph.facebook.com')
token = OAuth2::AccessToken.new client, params[:access_token]
token.get('/me')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...