修复: 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::UserHelper
before_action :doorkeeper_authorize!
skip_before_action :user_setup
# before_action :doorkeeper_authorize!
# skip_before_action :user_setup
protected
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 current_user
# #client方法对接需要一直带着用户标识uid
# Rails.logger.info doorkeeper_token
# if doorkeeper_token && doorkeeper_token.resource_owner_id.blank?
# # return User.anonymous if params[:uid].nil?
# # tip_exception("2222")
# # return render_error('缺少用户标识!') 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
@project = load_project

View File

@ -1,6 +1,7 @@
# frozen_string_literal: true
Doorkeeper.configure do
base_controller 'ApplicationController'
# 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
orm :active_record
@ -20,7 +21,7 @@ Doorkeeper.configure do
access_token_generator '::Doorkeeper::JWT'
admin_authenticator do
user = User.find_by_id(session[:www_user_id])
user = current_user
unless user && user.admin_or_business?
redirect_to root_url
end