使用Ruby / Sinatra和Rest-Graph gem在Facebook App中获取signed_request

我使用Sinatra和 Rest-Graph gem建立了一个Facebook应用程序.现在我想 embed the app as an iframe tab in a Facebook Page.

为此,我需要从Facebook发送到我的应用程序的signed_request中获取数据.

Rest-Graph gem表示以下功能on its Github page

Utility to extract access_token and
check sig in cookies/signed_request

我找不到任何关于如何使用这个“实用程序”的文档.你能指点我一些文档甚至更好,给我一个关于它如何与Ruby / Sinatra一起使用的例子?

几乎所有可用的Graph API库都以类似的方式处理signed_request. Rest-Graph有一个parse_signed_request方法( Rest-Graph/lib/core.rb),你可以在Sinatra中调用它.

我正在和Sinatra一起使用Koala,它的作用与广告一样:

oauth = Koala::Facebook::OAuth.new(APP_ID, APP_CODE)
signed_request = oauth.parse_signed_request(params["signed_request"])

你得到Facebook发布的JSON对象的哈希值:

{
"algorithm"=>"HMAC-SHA256",
"issued_at"=>1303883452, 
"user"=> 
{
"country"=>"us",
"locale"=>"en_US"
},
"user_id"=>"100002364226618"
}

rest-graph也很容易.刚刚在Sinatra应用程序中进行了测试.完美的工作:

rg = RestGraph.new( :app_id => APP_ID, :secret => APP_SECRET)
parsed_request = rg.parse_signed_request!(params["signed_request"])

Lemme知道这对你不起作用.

相关文章
相关标签/搜索