追記
gemのアップデートで取れるようになりそうですね!
omniauth-facebook+GraphAPI ver 2.4でemailフィールドが取得されない件の対応 - Qiita
今Railsで作っているサービスで、DeviseとOmniauthを使って認証系実装している時にちょっとハマったお話。
FacebookではEメールが普通に取得できるはずでは?
Twitterでは入ってこないが、Facebookでは下記のようにすればEメールが取得できるはず。
user.email = auth.info.email
しかし、nilで返ってくる。
auth.infoの中身を見ても、そもそもemailがない。
FacebookのAPIが2.4にアップデートされたことが原因
OmniAuth: Overview · plataformatec/devise Wiki · GitHub
ここに書いてありました。
config.omniauth :facebook, "APP_ID", "APP_SECRET", scope: 'email', info_fields: 'email, name'
こう書けば取れるようになりました。