我使用Omniauth与设计为一个web应用程序,我用Rails写认证通过Facebook用户3.0.4Facebook登录回调哈希文档
我模仿它Ryan Bates的Railscasts后:
http://railscasts.com/episodes/235-omniauth-part-1
http://railscasts.com/episodes/236-omniauth-part-2
在这一点上,我可以登录到我的网站和我的Facebook帐户,并拉我出来的电子邮件回调哈希,它看起来像这样我的:
request.env["omniauth.auth"]
{"user_info"=>
{"name"=>"Eric Hu",
"urls"=>
{"Facebook"=>"http://www.facebook.com/...", "Website"=>nil},
"nickname"=>"...",
"last_name"=>"Hu",
"first_name"=>"Eric"},
"uid"=>"...",
"credentials"=>
{"token"=> "..."},
"extra"=>
{"user_hash"=>
{"name"=>"Eric Hu",
"timezone"=>-8,
"gender"=>"male",
"id"=>"...",
"last_name"=>"Hu",
"updated_time"=>"2011-02-21T17:46:19+0000",
"verified"=>true,
"locale"=>"en_US",
"link"=>"http://www.facebook.com/...",
"email"=>"...",
"first_name"=>"Eric"}},
"provider"=>"facebook"}
(replaced some fields with "..." for my own privacy)
现在,我使用这个领域来获取用户的电子邮件地址
request.env["omniauth.auth"]["user_info"]["extra"]["email"]
我不知道,如果回调哈希与用户的设置而有所不同 - 从来就实际上是在限制我的电子邮件显示设置Facebook和它仍然显示。为了确保我的代码处理这个散列的任何可能的变化,我想找到一些关于这个Facebook登录回调散列的外观以及它如何变化的参考。到目前为止,我还没有在SO或Facebook开发者文档中发现任何东西。
问题:是否有Facebook登录回调哈希的官方参考?我不想假设所有用户都有相同的散列元素。我包括尽可能多的信息给其他想要使用Facebook和Omniauth验证其导轨应用程序的人。
我已经通过这些页面看起来(我不能把它们放在我原来的帖子里,因为我还是个SO新手): http://developers.facebook.com/docs/reference/api/user/ http://developers.facebook .com/docs/guides/web /#login – 2011-03-02 20:44:50
这可能有助于https://github.com/intridea/omniauth/wiki/Auth-Hash-Schema – aperture 2011-03-02 22:59:28