我正在尝试在我的 ruby sinatra 应用程序中使用 facebook 实现单点登录。到目前为止,我一直在关注本教程:
http://jaywiggins.com/2010/05/facebook-oauth-with-sinatra/
我能够向用户发送连接到我的应用程序的请求,但我在实际“获取”访问令牌时遇到了麻烦。用户可以毫无问题地连接,我收到带有“代码”参数的响应,我应该用它来交换访问令牌 - 但它在这里我卡住了。
所以我提交了一个带有以下参数的网址:
https://graph.facebook.com/oauth/access_token/ {client_id}&{client_secret}&{code}&{redirect_uri}
上面大括号中的单词显然被值替换了。
我使用以下代码提交:
response = open(url)
这似乎没有以访问令牌的方式返回任何有用的东西(它有一个 @base_uri ,这是我在上面提交的 url 和一些其他参数,虽然看起来没什么用处)。但是,如果我将提交的 URL 粘贴到浏览器中,我会收到一个访问令牌。
谁能告诉我如何从 facebook 取回请求并提取访问令牌?
谢谢。