From 0d2d38d53724894c2eb07a9a7ee87abeb15df2c7 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Tue, 9 May 2023 10:25:36 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20=E5=A4=B4=E6=AD=8C=E5=BF=AB=E9=80=9F?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/oauth/educoder_controller.rb | 25 ++++++++++++-------- config/routes.rb | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) 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]