不提供电子邮件我使用OmniAuth,并通过Facebook登录后,我让我的omniauth.auth键,它看起来像这样:OmniAuth - Facebook登录在USER_INFO
user_info:
name: Tim Sullivan
urls:
Facebook: http://www.facebook.com/...
Website:
nickname: ...
last_name: Sullivan
first_name: Tim
uid: "123456789"
credentials:
token: [some token]
extra:
user_hash:
name: Tim Sullivan
timezone: -5
gender: male
id: "123456789"
last_name: Sullivan
updated_time: 2010-12-30T00:52:39+0000
verified: true
locale: en_US
link: http://www.facebook.com/...
email: [email protected]
first_name: Tim
provider: facebook
现在,according to the docs,在电子邮件应位于user_info
部分,但不是。但是,在extra/user_hash
部分。由于我正在剥离extra
,它没有被存储,所以后来在管道上出现问题。我可以自己添加它,但这并不能解释为什么它不在首位。
为什么不将电子邮件放入user_info
部分?一个错误?无证变更?
我认为文档只是不是最新的,或者它只是一个错误。你必须在剥离额外之前得到它......我想我必须这样做,但我没有注意到当时的文档是错误的。我刚刚检查了回应是什么。 – Robin 2011-02-19 03:44:14
这看起来很奇怪。代码尝试将其设置在`user_info`中:/ https://github.com/intridea/omniauth/blob/master/oa-oauth/lib/omniauth/strategies/facebook.rb#L32 – raidfive 2011-02-19 06:13:47