forked from Gitlink/forgeplus
oauth2 增加client方式
This commit is contained in:
parent
221c439a1d
commit
915e689ef9
|
@ -7,8 +7,15 @@ class Api::V1::BaseController < ApplicationController
|
|||
skip_before_action :user_setup
|
||||
|
||||
protected
|
||||
def current_user
|
||||
User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
|
||||
def current_user
|
||||
#client方法对接,需要一直带着用户标识uid
|
||||
if doorkeeper_token && doorkeeper_token.resource_owner_id.blank?
|
||||
return User.anonymous if params[:uid].nil?
|
||||
# tip_exception('缺少用户标识!') if params[:uid].nil?
|
||||
User.current = User.find(params[:uid])
|
||||
else
|
||||
User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
|
||||
end
|
||||
end
|
||||
|
||||
def require_manager_above
|
||||
|
|
|
@ -250,7 +250,15 @@ class ApplicationController < ActionController::Base
|
|||
#Rails.logger.info("current_laboratory is #{current_laboratory} domain is #{request.subdomain}")
|
||||
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?
|
||||
if @doorkeeper_token.present?
|
||||
# client方法对接,需要一直带着用户标识uid
|
||||
if @doorkeeper_token.resource_owner_id.blank?
|
||||
tip_exception(-1, "缺少用户标识!") if params[:uid].nil?
|
||||
User.current = User.find(params[:uid])
|
||||
else
|
||||
User.current = User.find_by(id: @doorkeeper_token.resource_owner_id)
|
||||
end
|
||||
end
|
||||
else
|
||||
User.current = find_current_user
|
||||
uid_logger("user_setup: " + (User.current.logged? ? "#{User.current.try(:login)} (id=#{User.current.try(:id)})" : "anonymous"))
|
||||
|
|
|
@ -513,7 +513,7 @@ Doorkeeper::JWT.configure do
|
|||
# about the user. Defaults to a randomly generated token in a hash:
|
||||
# { token: "RANDOM-TOKEN" }
|
||||
token_payload do |opts|
|
||||
user = User.find(opts[:resource_owner_id])
|
||||
user = User.find_by(id: opts[:resource_owner_id])
|
||||
|
||||
{
|
||||
iss: 'GitLink',
|
||||
|
@ -523,9 +523,9 @@ Doorkeeper::JWT.configure do
|
|||
jti: SecureRandom.uuid,
|
||||
|
||||
user: {
|
||||
id: user.id,
|
||||
login: user.login,
|
||||
mail: user.mail
|
||||
id: user&.id,
|
||||
login: user&.login,
|
||||
mail: user&.mail
|
||||
}
|
||||
}
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue