Допустим, у нас есть Users
(кто может создать Doorkeeper::Application
с).С другой стороны, у нашего приложения есть Admins
, которые в идеале должны проверять каждое создаваемое приложение (и, возможно, делать проверку в фоновом режиме при создании пользователя, а что нет), а также его области действия.Они могут #approve!
или #reject!
Приложение и только если оно равно approved
, Приложение может выполнять вызовы API.
ПРИМЕЧАНИЕ : #approve!
, #reject!
и approved
не приходят с портье, насколько я знаю.Они гипотетичны, поэтому мой вопрос яснее.
Можно ли добиться такого поведения с помощью Привратника (или расширения)?Я не думаю, что что-то подобное описано в файле конфигурации.Если нет, есть ли у вас какие-либо общие шаги относительно того, как это можно сделать?
Я думаю, что что-то подобное может сработать
class Api::V1::TransactionalBaseController < Api::V1::AuthableController
before_action :doorkeeper_authorize!
before_action :check_application_status!
private
def check_application_status!
application = doorkeeper_token.application
unless application.approved?
raise Doorkeeper::Errors::ApplicationForbidden.new
end
end
end
Если это что-то, что может помочь другим пользователямЯ могу открыть PR или разработать расширение для достижения этой цели.