Sha256: 5cfe5a68ce57cfb5eb64b464ff1b9ea50ed74fdf8e3543756da4a4531c630ebf

Contents?: true

Size: 1.11 KB

Versions: 19

Compression:

Stored size: 1.11 KB

Contents

module Doorkeeper
  module OAuth
    module RequestConcern
      def authorize
        validate
        if valid?
          before_successful_response
          @response = TokenResponse.new(access_token)
          after_successful_response
          @response
        else
          @response = ErrorResponse.from_request(self)
        end
      end

      def scopes
        @scopes ||= if @original_scopes.present?
                      OAuth::Scopes.from_string(@original_scopes)
                    else
                      default_scopes
                    end
      end

      def default_scopes
        server.default_scopes
      end

      def valid?
        error.nil?
      end

      def find_or_create_access_token(client, resource_owner_id, scopes, server)
        @access_token = AccessToken.find_or_create_for(
          client,
          resource_owner_id,
          scopes,
          Authorization::Token.access_token_expires_in(server, client),
          server.refresh_token_enabled?)
      end

      def before_successful_response
      end

      def after_successful_response
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
doorkeeper-4.2.0 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-4.1.0 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-4.0.0 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-4.0.0.rc4 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-4.0.0.rc3 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-4.0.0.rc2 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-4.0.0.rc1 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-3.1.0 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-3.0.1 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-2.2.2 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-3.0.0 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-3.0.0.rc2 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-3.0.0.rc1 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-2.2.1 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-2.2.0 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-2.1.4 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-2.1.3 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-2.1.2 lib/doorkeeper/oauth/request_concern.rb
doorkeeper-2.1.1 lib/doorkeeper/oauth/request_concern.rb