我在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