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