Rails:Google 使用 Authlogic 进行身份验证
Rails: Google authentication with Authlogic
我正在使用 Authlogic,我想将 google 身份验证与 Authlogic 一起实施到现有项目中。我找不到任何好的资源。我试过 openid
和 authlogic-oauth
,它们似乎不起作用。是否有任何替代方案 gems/methods 可以与 Authlogic 一起用于 Google 身份验证?
谢谢
我 post 回答这个问题有点晚了。在这里,我们必须在 omniauth 信息中找到特定的电子邮件是否存在。如果它存在,则按照我们为 authlogic 身份验证所遵循的正常步骤进行操作。这有点棘手但很容易。为此,我们不需要任何第三方库。所以我们可以通过以下 gem 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
我正在使用 Authlogic,我想将 google 身份验证与 Authlogic 一起实施到现有项目中。我找不到任何好的资源。我试过 openid
和 authlogic-oauth
,它们似乎不起作用。是否有任何替代方案 gems/methods 可以与 Authlogic 一起用于 Google 身份验证?
谢谢
我 post 回答这个问题有点晚了。在这里,我们必须在 omniauth 信息中找到特定的电子邮件是否存在。如果它存在,则按照我们为 authlogic 身份验证所遵循的正常步骤进行操作。这有点棘手但很容易。为此,我们不需要任何第三方库。所以我们可以通过以下 gem 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