Мне кажется, что пример колдовского кода, показанный на github, создает дубликаты учетных записей, если он расширен, чтобы разрешить несколько методов входа (в этом весь смысл oauth). Вы можете видеть в фрагменте здесь, что create_from() будет вызываться, если login_from() не удастся.
GITHUB AT по адресу https://github.com/NoamB/sorcery-example-app/blob/master/app/controllers/oauths_controller.rb
def callback
provider = params[:provider]
begin
if @user = login_from(provider)
redirect_to root_path, :notice => "Logged in from #{provider.titleize}!"
else
begin
@user = create_from(provider)
При исследовании исходного кода для create_from во всех случаях будет создана новая запись учетной записи пользователя. Это было бы неправильно, если запись учетной записи пользователя уже существует.
Мой вопрос: какие колдовские методы следует вызывать при первом подключении к facebook, если учетная запись пользователя была создана каким-либо другим способом, кроме facebook. login_from не удастся, а create_from создаст дубликат записи пользователя?