Akash Agarwal
Akash Agarwal

Reputation: 2520

Rails 5 devise omniauth-facebook Error: Sorry, something went wrong

I am following Devise's official guide from top to this section. My CALLBACK_URL is http://localhost:3000/users/auth/facebook/callback, which I think might be the problem but I'm not sure. When I click on Sign in with Facebook, I run into this error:
Sorry, something went wrong.
on this link:
https://www.facebook.com/v2.6/dialog/oauth?client_id=193217371133539&redirect_uri=https%3A%2F%2Flocalhost%3A3000%2Fusers%2Fauth%2Ffacebook%2Fcallback&response_type=code&scope=user%2Cpublic_repo&state=3913c12e0e4ce8b422732c9159c0fb1fb7351d100487849d

Rails version: Rails 5.0.0.1
Ruby version(using rbenv): ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16]

Upvotes: 3

Views: 1578

Answers (2)

Richard Hsieh
Richard Hsieh

Reputation: 140

I found this https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

Facebook returning nulled email

Since July 8th 2015 Facebook changed to api v2.4, you need to add extra info_fields to get email field.

config.omniauth :facebook, "APP_ID", "APP_SECRET", scope: 'email', info_fields: 'email,name'

found solution from here by @techmonster

Upvotes: 3

Kaka Ruto
Kaka Ruto

Reputation: 5125

For anyone still having this issue, then check your scope, as Akash and Bodacious state above, and modify it to look like this:

scope: 'email', info_fields: 'email,name'

This will allow you to get the email field.

Upvotes: 5

Related Questions