我用的是带外部子模块的魔法宝石。由于某些原因,我没有从Facebook收到一封电子邮件,而且我很确定我的配置是正确的。我正试图进一步解决这个问题,但我不知道如何读取通过oauth返回的数据,以验证哪里发生了故障。我在哪里可以窥探和阅读这些信息?谢谢!
这是我的魔法配置。
Rails.application.config.sorcery.submodules = [:external]
Rails.application.config.sorcery.configure do |config|
config.external_providers = [:facebook, :google]
config.facebook.key = "#{Rails.application.secrets.sorcery_facebook_key}"
config.facebook.secret = "#{Rails.application.secrets.sorcery_facebook_secret}"
config.facebook.callback_url = "#{Rails.application.secrets.sorcery_facebook_callback_url}"
config.facebook.user_info_path = "me?fields=email,first_name,last_name"
config.facebook.user_info_mapping = {:email => "email"}
config.facebook.access_permissions = ["email"]
config.facebook.scope = "email"
config.facebook.display = "popup"
config.facebook.api_version = "v2.5"
config.user_config do |user|
user.authentications_class = Authentication
end
config.user_class = User
end发布于 2016-04-06 15:34:28
从技术上讲,这回答了一个问题,那就是如何找出归还的东西。
在oauth控制器中,如果您调用access_token.get('me?fields=email')或任何您想要的字段,您将得到一个带有URL字段集的响应。将该URL复制到浏览器中,您将得到数据的JSON列表。在我的例子中,我没有收到任何电子邮件,但我能够返回first_name,last_name,姓名。不太清楚为什么我仍然不能收到电子邮件,但希望这有助于一些人在未来的疑难解答。
另一种方法是,如果您有可用的access_token,您可以自己构建URL。
https://graph.facebook.com/me?access_token=<access token goes here>&fields=first_name,last_name,email
可以使用@access_token.token从oauth控制器检索访问令牌。
更新
太傻了.我有正确的配置,但很明显,自从我做了正确的修改之后,我就再也没有从Facebook上登出过。注销和再次进行似乎有固定的事情。
https://stackoverflow.com/questions/36435842
复制相似问题