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'])
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

View File

@ -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]