Merge branch 'dev_trustie' into dev_devops

This commit is contained in:
Jasder 2020-08-17 11:14:35 +08:00
commit 7b8bb996a6
5 changed files with 36 additions and 35 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -27,8 +27,10 @@ class Token < ActiveRecord::Base
def self.get_or_create_permanent_login_token(user, type)
token = Token.get_token_from_user(user, type)
Rails.logger.info "###### Token.get_token_from_user result: #{token&.value}"
unless token
token = Token.create(:user => user, :action => type)
Rails.logger.info "###### Token.get_token_from_user is nul and agine create token: #{token&.value}"
else
token.update_attribute(:created_on, Time.now)
end
@ -37,8 +39,10 @@ class Token < ActiveRecord::Base
def self.get_token_from_user(user, action)
token = Token.where(:action => action, :user_id => user).first
Rails.logger.info "###### self.get_token_from_user query result: #{token&.value}"
unless token
token = Token.create!(user_id: user.id, action: action)
Rails.logger.info "###### self.get_token_from_user query is nil and create result: #{token&.value}"
end
token
end

View File

@ -60,7 +60,7 @@
success: function(data) {
console.log(data)
if (data) {
if(data.message){
if(data.email_exist){
$(".emailCheck span").html("该邮箱已存在.");
return;
}