Browse Source

fixed 头歌快速登录用户绑定

pull/330/head
xxq250 3 years ago
parent
commit
0d2d38d537
2 changed files with 16 additions and 11 deletions
  1. +15
    -10
      app/controllers/oauth/educoder_controller.rb
  2. +1
    -1
      config/routes.rb

+ 15
- 10
app/controllers/oauth/educoder_controller.rb 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


+ 1
- 1
config/routes.rb 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]


Loading…
Cancel
Save