fixed 头歌快速登录用户绑定

This commit is contained in:
xxq250 2023-05-09 10:25:36 +08:00
parent 55581be46b
commit 0d2d38d537
2 changed files with 16 additions and 11 deletions

View File

@ -49,24 +49,29 @@ class Oauth::EducoderController < Oauth::BaseController
open_user = OpenUsers::Educoder.find_by(uid: result['login']) open_user = OpenUsers::Educoder.find_by(uid: result['login'])
if open_user.present? && open_user.user.present? if open_user.present? && open_user.user.present?
successful_authentication(open_user.user) successful_authentication(open_user.user)
redirect_to root_path(new_user: false)
return
else else
if current_user.blank? || !current_user.logged? if current_user.blank? || !current_user.logged?
new_user = true new_user = true
login = User.generate_login('E') session[:unionid] = result['login']
reg_result = autologin_register(login,"#{login}@forge.com", "Ec#{login}2021#", 'educoder', true) # login = User.generate_login('E')
if reg_result[:message].blank? # reg_result = autologin_register(login,"#{login}@forge.com", "Ec#{login}2021#", 'educoder', true)
open_user = OpenUsers::Educoder.create!(user_id: reg_result[:user][:id], uid: result['login'], extra: result) # if reg_result[:message].blank?
autosync_register_trustie(login, "Ec#{login}2021#", "#{login}@forge.com") # open_user = OpenUsers::Educoder.create!(user_id: reg_result[:user][:id], uid: result['login'], extra: result)
successful_authentication(open_user.user) # autosync_register_trustie(login, "Ec#{login}2021#", "#{login}@forge.com")
else # successful_authentication(open_user.user)
render_error(reg_result[:message]) # else
end # render_error(reg_result[:message])
# end
else else
OpenUsers::Educoder.create!(user: current_user, uid: result['login'], extra: result) OpenUsers::Educoder.create!(user: current_user, uid: result['login'], extra: result)
end end
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 rescue Exception => ex
render_error(ex.message) render_error(ex.message)
end end

View File

@ -431,7 +431,7 @@ Rails.application.routes.draw do
get '/auth/qq/callback', to: 'oauth/qq#create' get '/auth/qq/callback', to: 'oauth/qq#create'
get '/auth/wechat/callback', to: 'oauth/wechat#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] resource :bind_user, only: [:create]
resources :hot_keywords, only: [:index] resources :hot_keywords, only: [:index]