mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-21 20:25:45 +08:00
新增:acge 第三方登录回调地址
This commit is contained in:
32
app/controllers/oauth/acge_controller.rb
Normal file
32
app/controllers/oauth/acge_controller.rb
Normal file
@@ -0,0 +1,32 @@
|
||||
class Oauth::AcgeController < Oauth::BaseController
|
||||
include RegisterHelper
|
||||
|
||||
def create
|
||||
begin
|
||||
code = params['code'].to_s.strip
|
||||
tip_exception("code不能为空") if code.blank?
|
||||
uid = params['uid'].to_s.strip
|
||||
tip_exception("uid不能为空") if uid.blank?
|
||||
redirect_uri = params['redirect_uri'].to_s.strip
|
||||
tip_exception("redirect_uri不能为空") if redirect_uri.blank?
|
||||
|
||||
open_user = OpenUsers::Acge.find_by(uid: uid)
|
||||
if open_user.present? && open_user.user.present?
|
||||
successful_authentication(open_user.user)
|
||||
redirect_to redirect_uri
|
||||
return
|
||||
else
|
||||
if current_user.blank? || !current_user.logged?
|
||||
session[:unionid] = uid
|
||||
else
|
||||
OpenUsers::Acge.create!(user: current_user, uid: uid)
|
||||
end
|
||||
end
|
||||
|
||||
Rails.logger.info("[OAuth2] session[:unionid] -> #{session[:unionid]}")
|
||||
redirect_to "/bindlogin/acge?redirect_uri=#{redirect_uri}"
|
||||
rescue Exception => ex
|
||||
render_error(ex.message)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user