ruby-on-rails - OAuthException : This authorization code has been used - Facebook

标签 ruby-on-rails facebook-graph-api koala koala-gem

似乎 Facebook 在 12 月 5 日发布的新版本给我带来了一些问题。还有其他人收到此错误吗?

Koala::Facebook::APIError (OAuthException: This authorization code has been used.)



我能够进行 oauth,但是当我发出调用时,执行以下操作...我收到错误消息。即以下:
@friends = graph.get_object("/me/friends")

这是 Facebook 更新:

New security restrictions for OAuth authorization codes We will only allow authorization codes to be exchanged for access tokens once and will require that they be exchanged for an access token within 10 minutes of their creation. This is in line with the OAuth 2.0 Spec which from the start has stated that "authorization codes MUST be short lived and single use". For more information, check out our Authentication documentation.



如果有人可以提供帮助,或者更具体地说明 Facebook 更新的含义,那将非常有帮助。我使用 Rails Koala Gem 得到了这个。

似乎在这里报道,但没有任何答案有帮助。

http://developers.facebook.com/bugs/121266004701942?browse=search_50c113068fae60719135553

最佳答案

他们的这种令人沮丧的变化 - 基本上你需要在加载 get_user_info_from_cookies 的任何时候缓存在 session 中

  fb_user = session[:fb_info] || oauth.get_user_info_from_cookies(cookies)
  session[:fb_info] = fb_user
  session[:fb_token] = fb_user['access_token'] # is is the right one?

不幸的是,有时它仍然会引发错误,因为它将是来自过期 session 的非常旧的代码。我将它包装在一个开始/救援块中,并要求用户单击以再次返回到 oauth(这将获得一个新 token ),或者尝试在没有 facebook/的情况下登录。

关于ruby-on-rails - OAuthException : This authorization code has been used - Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13752959/

相关文章:

ruby-on-rails - Facebook Graph API 和 Koala : How to find relationship status of a user's 'friend'

ruby-on-rails - RSpec 中的 stub_model 和 mock_model 有什么区别?

ruby-on-rails - rails 3 : yield/content_for with some default value?

facebook-graph-api - Java HTTP 获取对 facebook 的请求。错误的请求

ruby-on-rails - 如何允许 Facebook 页面管理员仅选择他们希望我的应用程序管理的特定页面(manage_pages)

ruby-on-rails - 自定义404无法从 Controller 触发

ruby-on-rails - 更改 Knock gem 生成的 JWT 身份验证 token 的有效期

Facebook Graph API 始终返回 0 作为 CARE react 的计数

ios - Facebook API : Unknown fields: name?