You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- 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
|