Sha256: 6781e1f499bf8eb33782d37fd9879b1d56e72c355ba381fd6f32b96bf4c75ba2

Contents?: true

Size: 1.11 KB

Versions: 5

Compression:

Stored size: 1.11 KB

Contents

module Doorkeeper
  module OAuth
    module Authorization
      class Token
        attr_accessor :pre_auth, :resource_owner, :token

        def initialize(pre_auth, resource_owner)
          @pre_auth       = pre_auth
          @resource_owner = resource_owner
        end

        def self.access_token_expires_in(server, pre_auth)
          custom_expiration = server.
            custom_access_token_expires_in.call(pre_auth)

          if custom_expiration
            custom_expiration
          else
            server.access_token_expires_in
          end
        end

        def issue_token
          @token ||= AccessToken.find_or_create_for(
            pre_auth.client,
            resource_owner.id,
            pre_auth.scopes,
            self.class.access_token_expires_in(configuration, pre_auth),
            false
          )
        end

        def native_redirect
          {
            controller: 'doorkeeper/token_info',
            action: :show,
            access_token: token.token
          }
        end

        def configuration
          Doorkeeper.configuration
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
doorkeeper-2.2.0 lib/doorkeeper/oauth/authorization/token.rb
doorkeeper-2.1.4 lib/doorkeeper/oauth/authorization/token.rb
doorkeeper-2.1.3 lib/doorkeeper/oauth/authorization/token.rb
doorkeeper-2.1.2 lib/doorkeeper/oauth/authorization/token.rb
doorkeeper-2.1.1 lib/doorkeeper/oauth/authorization/token.rb