修复: oauth2 验证统一改为application控制器里的user_setup

This commit is contained in:
yystopf 2022-07-11 18:50:13 +08:00
parent 915e689ef9
commit d7a970e7d5
2 changed files with 16 additions and 13 deletions

View File

@ -3,20 +3,22 @@ class Api::V1::BaseController < ApplicationController
include Api::ProjectHelper include Api::ProjectHelper
include Api::UserHelper include Api::UserHelper
before_action :doorkeeper_authorize! # before_action :doorkeeper_authorize!
skip_before_action :user_setup # skip_before_action :user_setup
protected protected
def current_user # def current_user
#client方法对接需要一直带着用户标识uid # #client方法对接需要一直带着用户标识uid
if doorkeeper_token && doorkeeper_token.resource_owner_id.blank? # Rails.logger.info doorkeeper_token
return User.anonymous if params[:uid].nil? # if doorkeeper_token && doorkeeper_token.resource_owner_id.blank?
# tip_exception('缺少用户标识!') if params[:uid].nil? # # return User.anonymous if params[:uid].nil?
User.current = User.find(params[:uid]) # # tip_exception("2222")
else # # return render_error('缺少用户标识!') if params[:uid].nil?
User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token # User.current = User.find(params[:uid])
end # else
end # User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
# end
# end
def require_manager_above def require_manager_above
@project = load_project @project = load_project

View File

@ -1,6 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
Doorkeeper.configure do Doorkeeper.configure do
base_controller 'ApplicationController'
# Change the ORM that doorkeeper will use (requires ORM extensions installed). # Change the ORM that doorkeeper will use (requires ORM extensions installed).
# Check the list of supported ORMs here: https://github.com/doorkeeper-gem/doorkeeper#orms # Check the list of supported ORMs here: https://github.com/doorkeeper-gem/doorkeeper#orms
orm :active_record orm :active_record
@ -20,7 +21,7 @@ Doorkeeper.configure do
access_token_generator '::Doorkeeper::JWT' access_token_generator '::Doorkeeper::JWT'
admin_authenticator do admin_authenticator do
user = User.find_by_id(session[:www_user_id]) user = current_user
unless user && user.admin_or_business? unless user && user.admin_or_business?
redirect_to root_url redirect_to root_url
end end