Rails 4 Facebook身份验证 - 其他信息

时间:2015-12-02 21:26:05

标签: ruby-on-rails ruby-on-rails-4 omniauth omniauth-facebook

我已经使用了stackoverflow一年多了,总是通过搜索找到答案。但是,我找不到这个问题的答案,所以本周是我的第一个问题:

我关注如何使用omniauth-facebook gem在Rails中验证用户的Ryan Bates RailsCast#360,并且在搜索了很长时间后设法使其适应Rails 4。

不幸的是,当我尝试通过拉出与散列中的其他细节一起发送的first_name和last_name(意图是?)来扩展他的程序时,我无法让它工作。我设法在另一个程序甚至图像中获取电子邮件地址,但是没有发送first_name和last_name。我在会话#create

type="text"时返回以下内容
raise request.env["omniauth.auth"].to_yaml

这是我的omniauth.rb初始化程序

--- !ruby/hash:OmniAuth::AuthHash 
provider: facebook 
uid: '105531523151136' 
info: !ruby/hash:OmniAuth::AuthHash::InfoHash 
name: Donna Alajhbhfedabi Bushakwitz 
image: http://graph.facebook.com/105531523151136/picture
...

我的user.rb文件:

OmniAuth.config.logger = Rails.logger

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, FACEBOOK_CONFIG['app_id'], FACEBOOK_CONFIG['secret']
end

任何帮助都会很棒。我一直试图找出过去3天的错误。

1 个答案:

答案 0 :(得分:0)

只需将此行添加到初始值设定项:

info_fields: 'first_name, last_name'