Sha256: 3ee4fe7d4beae901243644b4ea6f3436b34a9f3a1cdcc9d1d118af75667886c1

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

module Doorkeeper
  module Request
    class Assertion < Strategy
      delegate :credentials, :resource_owner_from_assertion, :parameters, to: :server

      def request
        @request ||= build_request
      end

      def authorize
        request.authorize
      end

      private

      def build_request
        if ::Gem::Dependency.new('', '>= 5.5.1').match?('', ::Doorkeeper::VERSION::STRING)
          OAuth::PasswordAccessTokenRequest.new(
            Doorkeeper.configuration,
            client,
            credentials,
            resource_owner_from_assertion,
            parameters
          )
        else
          OAuth::PasswordAccessTokenRequest.new(
            Doorkeeper.configuration,
            client,
            resource_owner_from_assertion,
            parameters
          )
        end
      end

      def client
        if credentials
          server.client
        elsif parameters[:client_id]
          server.client_via_uid
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
doorkeeper-grants_assertion-0.3.1 lib/doorkeeper/request/assertion.rb