mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-16 01:35:56 +08:00
Merge branch 'dev_trustie' into dev_devops
This commit is contained in:
@@ -11,6 +11,7 @@ module LoginHelper
|
||||
|
||||
def set_autologin_cookie(user)
|
||||
token = Token.get_or_create_permanent_login_token(user, "autologin")
|
||||
Rails.logger.info "###### def set_autologin_cookie and get_or_create_permanent_login_token result: #{token&.value}"
|
||||
cookie_options = {
|
||||
:value => token.value,
|
||||
:expires => 1.month.from_now,
|
||||
@@ -21,9 +22,11 @@ module LoginHelper
|
||||
if edu_setting('cookie_domain').present?
|
||||
cookie_options = cookie_options.merge(domain: edu_setting('cookie_domain'))
|
||||
end
|
||||
unless cookies[autologin_cookie_name].present?
|
||||
cookies[autologin_cookie_name] = cookie_options
|
||||
end
|
||||
# unless cookies[autologin_cookie_name].present?
|
||||
# cookies[autologin_cookie_name] = cookie_options
|
||||
# end
|
||||
cookies[autologin_cookie_name] = cookie_options
|
||||
|
||||
# for action cable
|
||||
cookies.signed[:user_id] ||= user.id
|
||||
|
||||
|
||||
@@ -10,26 +10,20 @@ class Oauth::EducoderController < Oauth::BaseController
|
||||
open_user= OpenUsers::Educoder.find_by(uid: login)
|
||||
|
||||
if open_user.present? && open_user.user.present? && open_user.user.email_binded?
|
||||
if current_user != open_user.user
|
||||
logout_user
|
||||
successful_authentication(open_user.user)
|
||||
end
|
||||
Rails.logger.info "######## open_user exist and open_user.user exsit and email is binded ok"
|
||||
successful_authentication(open_user.user)
|
||||
|
||||
redirect_to callback_url
|
||||
else
|
||||
if current_user.blank? || !current_user.logged?
|
||||
user = User.find_by(login: login)
|
||||
if user
|
||||
successful_authentication(user)
|
||||
OpenUsers::Educoder.create!(user: user, uid: user.login)
|
||||
Rails.logger.info "######## open user not exits"
|
||||
user = User.find_by(login: login)
|
||||
if user
|
||||
OpenUsers::Educoder.create!(user: user, uid: user.login)
|
||||
successful_authentication(user)
|
||||
|
||||
redirect_to callback_url
|
||||
else
|
||||
redirect_to oauth_register_path(login: login, callback_url: callback_url)
|
||||
end
|
||||
else
|
||||
# forge平台已登录
|
||||
OpenUsers::Educoder.create!(user: current_user, uid: login)
|
||||
redirect_to callback_url
|
||||
else
|
||||
redirect_to oauth_register_path(login: login, callback_url: callback_url)
|
||||
end
|
||||
end
|
||||
rescue WechatOauth::Error => ex
|
||||
|
||||
@@ -65,22 +65,22 @@ class OauthController < ApplicationController
|
||||
platform = params[:plathform] || 'educoder'
|
||||
|
||||
if User.where(mail: email).exists?
|
||||
render_error("该邮箱已使用过.") and return
|
||||
end
|
||||
|
||||
result = autologin_register(login, email, password, platform)
|
||||
logger.info "[Oauth educoer] =====#{result}"
|
||||
if result[:message].blank?
|
||||
logger.info "[Oauth educoer] ====auto_register success"
|
||||
user = User.find result[:user][:id]
|
||||
successful_authentication(user)
|
||||
OpenUsers::Educoder.create!(user: user, uid: user.login)
|
||||
|
||||
render_ok({callback_url: callback_url})
|
||||
# redirect_to callback_url
|
||||
render json: { email_exist: '该邮箱已使用过' }
|
||||
else
|
||||
logger.info "[Oauth educoer] ====auto_register failed."
|
||||
render :action => "auto_register"
|
||||
result = autologin_register(login, email, password, platform)
|
||||
logger.info "[Oauth educoer] =====#{result}"
|
||||
if result[:message].blank?
|
||||
logger.info "[Oauth educoer] ====auto_register success"
|
||||
user = User.find result[:user][:id]
|
||||
successful_authentication(user)
|
||||
OpenUsers::Educoder.create!(user: user, uid: user.login)
|
||||
|
||||
render json: { callback_url: callback_url }
|
||||
# redirect_to callback_url
|
||||
else
|
||||
logger.info "[Oauth educoer] ====auto_register failed."
|
||||
render :action => "auto_register"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user