Facebook图表同时验证客户端和服务器端?

时间:2011-02-21 15:17:50

标签: ruby-on-rails facebook oauth

以下是我在rails网站上使用facebook图表尝试做的事情:

  1. 用户客户端流程以获取用户权限并验证用户w / facebook
  2. 将客户端收到的访问令牌发送到我的服务器,以便从服务器端进行其他处理
  3. 当我尝试这样做时,我从facebook收到错误,说我无法验证服务器。我在客户端使用相同的令牌来执行此操作。有没有办法在没有用户使用服务器端进程登录的情况下验证服务器?

1 个答案:

答案 0 :(得分:1)

在JavaScript中尝试类似的内容:

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

然后,您可以使用给定的访问令牌通过OAuth2 gem访问Facebook:

client = OAuth2::Client.new(<app_id>, <app_secret>, :site => 'https://graph.facebook.com')
token = OAuth2::AccessToken.new client, params[:access_token]
token.get('/me')