Browse Source

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

pull/313/head
yystopf 4 years ago
parent
commit
d7a970e7d5
2 changed files with 16 additions and 13 deletions
  1. +14
    -12
      app/controllers/api/v1/base_controller.rb
  2. +2
    -1
      config/initializers/doorkeeper.rb

+ 14
- 12
app/controllers/api/v1/base_controller.rb 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


+ 2
- 1
config/initializers/doorkeeper.rb 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


Loading…
Cancel
Save