Как я могу указать разрешения Facebook (также известные как область действия), которые OmniAuth запрашивает ДИНАМИЧЕСКИ?

Этот вопрос аналогичен Как я могу указать, какой доступ мне нужен для моих учетных записей 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}

Но мне нужно определять область динамически, чтобы только когда пользователи использовали функцию фотографий, их запрашивали разрешения для фотографий, но не в том случае, если они просто входят в систему или регистрируются в первый раз .

Кто-нибудь знает, как это сделать? Заранее спасибо.

9
задан Community 23 May 2017 в 10:27
поделиться