Rails: аутентификация Google с помощью Authlogic - PullRequest
0 голосов
/ 29 августа 2018

Я использую Authlogic и хотел бы внедрить аутентификацию Google в существующий проект вместе с Authlogic. Я не мог найти хорошие источники. Я пробовал с openid и authlogic-oauth, они, кажется, не работают. Существуют ли альтернативные гемы / методы, которые будут работать с Authlogic для аутентификации Google? Спасибо

1 Ответ

0 голосов
/ 03 января 2019

Я немного опоздал, чтобы опубликовать ответ на этот вопрос. Здесь мы должны найти, что конкретная электронная почта была представлена ​​или нет в 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
...