omniauth-facebook не может получить адрес электронной почты

Я создал новое приложение Rails и установил гем Devise и omniauth-facebook.

И настройка моего приложения Facebook, в качестве среды тестирования.

Итак, я вошел в систему через Facebook и зарегистрировал свое новое приложение Rails, но request.env не содержал адрес электронной почты address.info.

это возвращается request.env ['omniauth.auth']

{
   "provider" => "facebook",
   "uid" => "xxxxxxxxxxxx",
   "info" => {
         "name" => "xxxxxxx",
        "image" => "http://graph.facebook.com/xxx/picture"
    },
    "credentials" => {
             "token" => "tokenstring",
        "expires_at" => xxxxxxxxx,
           "expires" => true
    },
          "extra" => {
        "raw_info" => {
            "name" => "xxx xxxx",
              "id" => "xxxxxxxxx"
        }
    }
}

он запрашивает request.env ['omniauth.auth'] ['info'] ['email']

Как я могу получить адрес электронной почты от Facebook через oauth? Пожалуйста, кто-нибудь, помогите мне.

Rails вер. 4.2.3. Ruby вер. 2.2.2p95.

Это Gem Версии

 omniauth (1.2.2)
 omniauth-facebook (2.0.1)
 devise (3.5.1)

конфиг / Инициализаторы / devise.rb

  config.omniauth :facebook, 'appId', 'appSeacret', scope: 'email,public_profile'

приложение / контроллеры / omniauth_callbacks_controller.rb

  def all_provider
    user = User.from_omniauth(request.env['omniauth.auth'])
    if user.persisted?
      sign_in_and_redirect user
    else
      session['devise.user_attributes'] = user.attributes
      redirect_to new_user_registration_url
    end
  end

  alias_method :facebook, :all_provider

приложение / модели / user.rb

def from_omniauth(auth)
  where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
    user.email = auth.info.email
  end
end

Добавить на 2015/7/11

Я повторил тот же код со своим старым тестовым приложением Facebook, и МОЖЕТ получить полный public_profile и электронную почту.

Добавлены ли какие-либо ограничения для нового приложения на Facebook? кто-нибудь знает?

Ответы на вопрос(1)

Ваш ответ на вопрос