修复: oauth2 token 私有仓库无法获取用户信息
This commit is contained in:
parent
4c7498a046
commit
221c439a1d
|
@ -170,10 +170,6 @@ class ApplicationController < ActionController::Base
|
||||||
# 未授权的捕捉407,弹试用申请弹框
|
# 未授权的捕捉407,弹试用申请弹框
|
||||||
def require_login
|
def require_login
|
||||||
#6.13 -hs
|
#6.13 -hs
|
||||||
if request.headers["Authorization"].present?
|
|
||||||
tip_exception(401, "请登录后再操作!") unless valid_doorkeeper_token?
|
|
||||||
User.current = User.find_by(id: @doorkeeper_token.resource_owner_id) if @doorkeeper_token.present?
|
|
||||||
end
|
|
||||||
tip_exception(401, "请登录后再操作") unless User.current.logged?
|
tip_exception(401, "请登录后再操作") unless User.current.logged?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -252,42 +248,47 @@ class ApplicationController < ActionController::Base
|
||||||
#return if params[:controller] == "main"
|
#return if params[:controller] == "main"
|
||||||
# Find the current user
|
# Find the current user
|
||||||
#Rails.logger.info("current_laboratory is #{current_laboratory} domain is #{request.subdomain}")
|
#Rails.logger.info("current_laboratory is #{current_laboratory} domain is #{request.subdomain}")
|
||||||
User.current = find_current_user
|
if request.headers["Authorization"].present?
|
||||||
uid_logger("user_setup: " + (User.current.logged? ? "#{User.current.try(:login)} (id=#{User.current.try(:id)})" : "anonymous"))
|
tip_exception(401, "请登录后再操作!") unless valid_doorkeeper_token?
|
||||||
|
User.current = User.find_by(id: @doorkeeper_token.resource_owner_id) if @doorkeeper_token.present?
|
||||||
|
else
|
||||||
|
User.current = find_current_user
|
||||||
|
uid_logger("user_setup: " + (User.current.logged? ? "#{User.current.try(:login)} (id=#{User.current.try(:id)})" : "anonymous"))
|
||||||
|
|
||||||
# 开放课程通过链接访问的用户
|
# 开放课程通过链接访问的用户
|
||||||
if !User.current.logged? && !params[:chinaoocTimestamp].blank? && !params[:websiteName].blank? && !params[:chinaoocKey].blank?
|
if !User.current.logged? && !params[:chinaoocTimestamp].blank? && !params[:websiteName].blank? && !params[:chinaoocKey].blank?
|
||||||
content = "#{OPENKEY}#{params[:websiteName]}#{params[:chinaoocTimestamp]}"
|
content = "#{OPENKEY}#{params[:websiteName]}#{params[:chinaoocTimestamp]}"
|
||||||
|
|
||||||
if Digest::MD5.hexdigest(content) == params[:chinaoocKey]
|
if Digest::MD5.hexdigest(content) == params[:chinaoocKey]
|
||||||
user = open_class_user
|
user = open_class_user
|
||||||
if user
|
if user
|
||||||
start_user_session(user)
|
start_user_session(user)
|
||||||
set_autologin_cookie(user)
|
set_autologin_cookie(user)
|
||||||
|
end
|
||||||
|
User.current = user
|
||||||
end
|
end
|
||||||
User.current = user
|
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
# if !User.current.logged? && Rails.env.development?
|
# if !User.current.logged? && Rails.env.development?
|
||||||
# user = User.find 1
|
# user = User.find 1
|
||||||
# User.current = user
|
# User.current = user
|
||||||
# start_user_session(user)
|
# start_user_session(user)
|
||||||
# end
|
# end
|
||||||
|
|
||||||
|
|
||||||
# 测试版前端需求
|
# 测试版前端需求
|
||||||
logger.info("subdomain:#{request.subdomain}")
|
logger.info("subdomain:#{request.subdomain}")
|
||||||
if request.subdomain != "www"
|
if request.subdomain != "www"
|
||||||
if params[:debug] == 'teacher' #todo 为了测试,记得讲debug删除
|
if params[:debug] == 'teacher' #todo 为了测试,记得讲debug删除
|
||||||
User.current = User.find 81403
|
User.current = User.find 81403
|
||||||
elsif params[:debug] == 'student'
|
elsif params[:debug] == 'student'
|
||||||
User.current = User.find 8686
|
User.current = User.find 8686
|
||||||
elsif params[:debug] == 'admin'
|
elsif params[:debug] == 'admin'
|
||||||
logger.info "@@@@@@@@@@@@@@@@@@@@@@ debug mode....."
|
logger.info "@@@@@@@@@@@@@@@@@@@@@@ debug mode....."
|
||||||
user = User.find 36480
|
user = User.find 36480
|
||||||
User.current = user
|
User.current = user
|
||||||
cookies.signed[:user_id] = user.id
|
cookies.signed[:user_id] = user.id
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
# User.current = User.find 81403
|
# User.current = User.find 81403
|
||||||
|
|
Loading…
Reference in New Issue