Этот вопрос аналогичен Как я могу указать, какой доступ мне нужен для моих учетных записей Facebook при использовании OmniAuth? , но с оговоркой.
Я использую OmniAuth для авторизации пользователей Facebook на моем веб-сайте. Для обычного входа / регистрации приемлемо запросить у пользователя стандартные разрешения Facebook. Но на моем сайте есть функция, которая требует расширенных разрешений (доступа к их фотографиям в Facebook). Я хочу запрашивать расширенные разрешения для пользователей только тогда, когда / если они используют функцию фотографий на нашем сайте в Facebook.
Все ответы, которые я нашел в Интернете о том, как установить разрешения facebook для omniauth, касаются простого добавления параметра области в ваш инициализатор OmniAuth, например:
ActionController::Dispatcher.middleware.use OmniAuth::Strategies::Facebook, 'app_id', 'app_secret', {:scope => 'email,offline_access,the,scope,you,want}
Но мне нужно определять область динамически, чтобы только когда пользователи использовали функцию фотографий, их запрашивали разрешения для фотографий, но не в том случае, если они просто входят в систему или регистрируются в первый раз .
Кто-нибудь знает, как это сделать? Заранее спасибо.