我是 Ruby 和 Rails 的初学者,但我设法通过 Facebook 使用 OmniAuth 进行身份验证。一切正常,我能够创建用户并且他们能够使用 Facebook 登录。
问题是,我想获取一些用户数据(例如电子邮件、个人资料照片等)并保存。
通过自述文件(https://github.com/mkdynamic/omniauth-facebook),我设法找到:
这是 request.env['omniauth.auth'] 中可用的示例身份验证哈希:
{
:provider => 'facebook',
:uid => '1234567',
:info => {
:nickname => 'jbloggs',
:email => 'joe@bloggs.com',
:name => 'Joe Bloggs',
:first_name => 'Joe',
:last_name => 'Bloggs',
:image => 'http://graph.facebook.com/1234567/picture?type=square',
:urls => { :Facebook => 'http://www.facebook.com/jbloggs' },
:location => 'Palo Alto, California',
:verified => true
}
}
我尝试对身份验证哈希进行更多搜索,并得到了它,其中列出了一些可以获取的信息:https ://github.com/intridea/omniauth/wiki/Auth-Hash-Schema
问题是,我要求某些权限。问题是,我怎么知道 Facebook 正在发送什么样的信息?不幸的是,说信息在 request.env['omniauth.auth'] 对我没有多大好处。我如何从这里获取信息?
我是一个真正的初学者,正在阅读 Rails 教程 ( http://ruby.railstutorial.org/ ),但尝试通过反复试验来创建自己的应用程序。