]> git.openstreetmap.org Git - rails.git/blobdiff - config/initializers/doorkeeper.rb
Merge remote-tracking branch 'upstream/pull/4267'
[rails.git] / config / initializers / doorkeeper.rb
index 32156b8217e723f63dcdc439d229d33cef5f8c72..a2df9167f420d37da6f3ab263dbf98efaddc4701 100644 (file)
@@ -1,5 +1,7 @@
 # frozen_string_literal: true
 
 # frozen_string_literal: true
 
+require_relative "../../lib/oauth"
+
 Doorkeeper.configure do
   # 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
 Doorkeeper.configure do
   # 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
@@ -48,7 +50,7 @@ Doorkeeper.configure do
   #   end
   # end
 
   #   end
   # end
 
-  application_class "Oauth2Application"
+  application_class "Oauth2Application" unless Settings.status == "database_offline"
 
   # Enables polymorphic Resource Owner association for Access Tokens and Access Grants.
   # By default this option is disabled.
 
   # Enables polymorphic Resource Owner association for Access Tokens and Access Grants.
   # By default this option is disabled.
@@ -419,10 +421,10 @@ Doorkeeper.configure do
   # Under some circumstances you might want to have applications auto-approved,
   # so that the user skips the authorization step.
   # For example if dealing with a trusted application.
   # Under some circumstances you might want to have applications auto-approved,
   # so that the user skips the authorization step.
   # For example if dealing with a trusted application.
-  #
-  # skip_authorization do |resource_owner, client|
-  #   client.superapp? or resource_owner.admin?
-  end
+
+  skip_authorization do |_, client|
+    client.scopes.include?("skip_authorization")
+  end
 
   # Configure custom constraints for the Token Introspection request.
   # By default this configuration option allows to introspect a token by another
 
   # Configure custom constraints for the Token Introspection request.
   # By default this configuration option allows to introspect a token by another