Sorcery Gem — Custom user_info_mapping для внешних провайдеров

Я использую версию 0.7.7 Sorcery Authentication Gemот NoamB в моем приложении Rails 3.2

Я ищу возможность, как я могу подключить метод, который выполняет сопоставление информации о пользователе для определенного внешнего провайдера входа (например, facebook, twitter).

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

По умолчанию это возможно только для файла sorcery.rb:

config.facebook.user_info_mapping = {:email => "email", :first_name => "first_name", :last_name => "last_name" ...

Я знаю, что могу добиться такого поведения с помощью методов установки в моей пользовательской модели, но я хочу, модель, и я хочу иметь возможность определять их конкретно для каждого поставщика.

Возможно ли это? / Каков наилучший способ реализовать такие расширенные возможности сопоставления?

Спасибо за помощь!

8
задан georgebrock 11 March 2017 в 19:22
поделиться