我正在尝试使用devise和omniauth-facebook gem创建一个使用Facebook登录的Rails 4应用程序。
现在,我可以将用户保存在数据库中,但电子邮件将变为空。
我已经尝试了另一个教程,所有这些教程都是相同的,电子邮件为null。
我注意到当我点击“登录”按钮时,我收到以下链接:
这似乎是一个权限错误,但我似乎无法弄清楚原因。
这是self.from_omniauth方法:
def self.from_omniauth(auth)
where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
user.provider = auth.provider
user.uid = auth.uid
user.name = auth.info.name
user.email = auth.info.email
user.password = Devise.friendly_token[0,20]
end
end
答案 0 :(得分:0)
请你使用
检查参数raise params.inspect
在回调页面操作时,facebook说app正在分享用户的电子邮件。它将json数据从其系统发送到你的回调网址。
答案 1 :(得分:0)
api在7月8日发生了变化。
这样做了:
config.omniauth :facebook, "appid", "appsecret", scope: 'email', info_fields: 'email'