Я немного опоздал, чтобы опубликовать ответ на этот вопрос. Здесь мы должны найти, что конкретная электронная почта была представлена или нет в omniauth info. Если он присутствует, то выполните обычные шаги, которые мы выполнили для аутентификации authlogic. Это немного сложно, но легко. Для этого нам не нужна сторонняя библиотека. Таким образом, мы можем завершить это следующим гемом omniauth-google-oauth2 и authlogic
class AuthenticationsController < ApplicationController
def create
omniauth = request.env['omniauth.auth']
if omniauth["provider"] == "google_oauth2"
user = User.find_by_email(email)
@user_session = UserSession.new(user)
if @user_session.save
flash[:success] = "Login successful!"
redirect_to session[:return_to] ||= markets_url
else
flash[:error] = "Your Account doesn't exists. Please contact
Xxxxx support."
redirect_to :login
end
end
end