Browse Source

FIX remote regitster bug

tags/v1.0.0
Jasder 5 years ago
parent
commit
c68c8ed089
3 changed files with 22 additions and 28 deletions
  1. +6
    -12
      app/controllers/oauth/educoder_controller.rb
  2. +15
    -15
      app/controllers/oauth_controller.rb
  3. +1
    -1
      app/views/oauth/register.html.erb

+ 6
- 12
app/controllers/oauth/educoder_controller.rb View File

@@ -16,20 +16,14 @@ class Oauth::EducoderController < Oauth::BaseController
redirect_to callback_url
else
Rails.logger.info "######## open user not exits"
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)
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


+ 15
- 15
app/controllers/oauth_controller.rb 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


+ 1
- 1
app/views/oauth/register.html.erb 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;
}


Loading…
Cancel
Save