Rails Omniauth facebook не возвращает информационные поля, кроме полей по умолчанию - PullRequest
0 голосов
/ 31 мая 2018

Я использую аутентификацию facebook для моего приложения Rails 5.Я хочу получить информацию о пользователе, кроме электронной почты.Но он не возвращает указанные поля.Вот мой конфиг для devise.rb

config.omniauth :facebook, "APP ID", "APP Secret", scope: 'email', secure_image_url: true, :image_size => 'large', auth_type: 'https',info_fields: 'email,name,first_name,last_name,gender',
client_options: {
    site: "https://graph.facebook.com/v3.0",
    authorize_url: "https://www.facebook.com/v3.0/dialog/oauth"
    }

Пожалуйста, помогите мне выйти из этого.Заранее спасибо.

1 Ответ

0 голосов
/ 31 мая 2018

После ознакомления с документацией для omniauth-facebook gem кажется, что вы не получаете дополнительные поля информации, потому что вы забыли запросить разрешения у пользователей в scope.

Попробуйте добавить public_profile к scope, вот так:

config.omniauth :facebook, "APP ID", "APP Secret", scope: 'email,public_profile,user_gender', secure_image_url: true, :image_size => 'large', auth_type: 'https',info_fields: 'email,name,first_name,last_name,gender',
client_options: {
  site: "https://graph.facebook.com/v3.0",
  authorize_url: "https://www.facebook.com/v3.0/dialog/oauth"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...