diff --git a/app/controllers/oauth/educoder_controller.rb b/app/controllers/oauth/educoder_controller.rb index 9ca4ae49b..6d479ed0c 100644 --- a/app/controllers/oauth/educoder_controller.rb +++ b/app/controllers/oauth/educoder_controller.rb @@ -49,24 +49,29 @@ class Oauth::EducoderController < Oauth::BaseController open_user = OpenUsers::Educoder.find_by(uid: result['login']) if open_user.present? && open_user.user.present? successful_authentication(open_user.user) + redirect_to root_path(new_user: false) + return else if current_user.blank? || !current_user.logged? new_user = true - login = User.generate_login('E') - reg_result = autologin_register(login,"#{login}@forge.com", "Ec#{login}2021#", 'educoder', true) - if reg_result[:message].blank? - open_user = OpenUsers::Educoder.create!(user_id: reg_result[:user][:id], uid: result['login'], extra: result) - autosync_register_trustie(login, "Ec#{login}2021#", "#{login}@forge.com") - successful_authentication(open_user.user) - else - render_error(reg_result[:message]) - end + session[:unionid] = result['login'] + # login = User.generate_login('E') + # reg_result = autologin_register(login,"#{login}@forge.com", "Ec#{login}2021#", 'educoder', true) + # if reg_result[:message].blank? + # open_user = OpenUsers::Educoder.create!(user_id: reg_result[:user][:id], uid: result['login'], extra: result) + # autosync_register_trustie(login, "Ec#{login}2021#", "#{login}@forge.com") + # successful_authentication(open_user.user) + # else + # render_error(reg_result[:message]) + # end else OpenUsers::Educoder.create!(user: current_user, uid: result['login'], extra: result) end end + Rails.logger.info("[OAuth2] session[:unionid] -> #{session[:unionid]}") + redirect_to "/bindlogin/educoder" - redirect_to root_path(new_user: new_user) + # redirect_to root_path(new_user: new_user) rescue Exception => ex render_error(ex.message) end diff --git a/config/routes.rb b/config/routes.rb index 0702b1069..f36aaa165 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -431,7 +431,7 @@ Rails.application.routes.draw do get '/auth/qq/callback', to: 'oauth/qq#create' get '/auth/wechat/callback', to: 'oauth/wechat#create' - # get '/auth/educoder/callback', to: 'oauth/educoder#create' + get '/auth/educoder/callback', to: 'oauth/educoder#create' resource :bind_user, only: [:create] resources :hot_keywords, only: [:index]