FIX remote regitster bug

This commit is contained in:
Jasder 2020-08-16 13:48:48 +08:00
parent 086ebc34b2
commit c68c8ed089
3 changed files with 22 additions and 28 deletions

View File

@ -16,21 +16,15 @@ class Oauth::EducoderController < Oauth::BaseController
redirect_to callback_url redirect_to callback_url
else else
Rails.logger.info "######## open user not exits" Rails.logger.info "######## open user not exits"
if current_user.blank? || !current_user.logged?
user = User.find_by(login: login) user = User.find_by(login: login)
if user if user
successful_authentication(user)
OpenUsers::Educoder.create!(user: user, uid: user.login) OpenUsers::Educoder.create!(user: user, uid: user.login)
successful_authentication(user)
redirect_to callback_url redirect_to callback_url
else else
redirect_to oauth_register_path(login: login, callback_url: callback_url) redirect_to oauth_register_path(login: login, callback_url: callback_url)
end end
else
# forge平台已登录
OpenUsers::Educoder.create!(user: current_user, uid: login)
redirect_to callback_url
end
end end
rescue WechatOauth::Error => ex rescue WechatOauth::Error => ex
render_error(ex.message) render_error(ex.message)

View File

@ -65,9 +65,8 @@ class OauthController < ApplicationController
platform = params[:plathform] || 'educoder' platform = params[:plathform] || 'educoder'
if User.where(mail: email).exists? if User.where(mail: email).exists?
render_error("该邮箱已使用过.") and return render json: { email_exist: '该邮箱已使用过' }
end else
result = autologin_register(login, email, password, platform) result = autologin_register(login, email, password, platform)
logger.info "[Oauth educoer] =====#{result}" logger.info "[Oauth educoer] =====#{result}"
if result[:message].blank? if result[:message].blank?
@ -76,12 +75,13 @@ class OauthController < ApplicationController
successful_authentication(user) successful_authentication(user)
OpenUsers::Educoder.create!(user: user, uid: user.login) OpenUsers::Educoder.create!(user: user, uid: user.login)
render_ok({callback_url: callback_url}) render json: { callback_url: callback_url }
# redirect_to callback_url # redirect_to callback_url
else else
logger.info "[Oauth educoer] ====auto_register failed." logger.info "[Oauth educoer] ====auto_register failed."
render :action => "auto_register" render :action => "auto_register"
end end
end end
end
end end

View File

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