Я использую Devise и omniauth-facebook для входа в систему Facebook для моего сайта. Это определено в конфигурации/инициализаторах/devise.rb:Facebook игнорирует область
config.omniauth :facebook, app_id, app_secret, scope: 'email'
Для моего сайта, мне нужно только адрес электронной почты. Тем не менее, мое приложение FB настроено с тремя правами доступа по умолчанию - email, public_profile и user_friends.
Когда нажата кнопка входа в систему, в диалоговом окне FB говорится, что мое приложение «получит следующую информацию: ваш общедоступный профиль, список друзей и адрес электронной почты». Мне не нужен список друзей и не хотят, чтобы удержать пользователей от подписания в
Я пытался манипулировать URL напрямую, но это не сработало:.
user_omniauth_authorize_path(provider, :scope => 'email')
Рытье немного глубже, я обнаружили, что область действия по умолчанию в OmniAuth-Facebook является только по электронной почте, как это определено в OmniAuth-facebook/Библиотека/OmniAuth/стратегии/facebook.rb:
DEFAULT_SCOPE = 'email'
Я пропускаю что-то здесь? Является ли Facebook игнорированием или переопределением параметра области? Есть ли способ изменить права доступа по умолчанию для моего приложения Facebook?
Любые указатели будут оценены по достоинству.
Если вы используете API v1.0 это будет всегда, как для электронной почты, public_profile и user_friends. Решение заключается в использовании API v2.0 или новее – WizKid
Спасибо, @WizKid. Это ведет меня по правильному пути. –