我正在使用 OmniAuth,通过 Facebook 登录后,我得到了我的 omniauth.auth 密钥,如下所示:
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: tim@myemailaddress.com
first_name: Tim
provider: facebook
现在,根据文档,电子邮件应该在该user_info部分中,但不是。但是,它在该extra/user_hash部分中。由于我正在剥离extra,它没有被存储,所以后来我遇到了问题。我可以自己添加它,但这并不能解释为什么它一开始就不存在。
为什么不将电子邮件放入该user_info部分?一个错误?无证变更?