OmniAuth get令牌无法解析响应

时间:2017-07-26 20:37:21

标签: ruby-on-rails omniauth omniauth-facebook

我在rails应用程序上有一个ruby想要实现facebook登录。

将以下宝石添加到我的gemfile

gem 'omniauth'
gem 'omniauth-facebook'

当我尝试使用facebook登录时,我收到此错误(是的,它看起来有些不正常):

OAuth2::Error:
:     {"access_token":"<actual token removed>","token_type":"bearer","expires_in":5740}

提取的源代码(lib / oauth2 / client.rb:135:在`get_token'中):

  raise Error.new(response) if options[:raise_errors] && !(response.parsed.is_a?(Hash) && response.parsed['access_token'])
  AccessToken.from_hash(self, response.parsed.merge(access_token_opts))
end

我已将其调试为response.parsed不是哈希,但看起来像这样:

{{\"access_token\":\"<actual token removed>\",\"token_type\":\"bearer\",\"expires_in\":5361}"=>nil}

如果你仔细观察,看起来response.parsed哈希就搞砸了。实际上,响应哈希变成了key => nil,就像嵌套哈希一样。

任何人都知道为什么会这样?

Ruby 2.3.0

0 个答案:

没有答案