Sha256: fb5f16b46092ade83ccd7c0feb42e7acf9d8ffce5c0b5bcce2f0dfdf8fef8892

Contents?: true

Size: 1.02 KB

Versions: 7

Compression:

Stored size: 1.02 KB

Contents

module Twilio
  module REST
    class ClientTokenManager
      attr_accessor :grant_type, :client_id, :client_secret, :code, :redirect_uri, :audience, :refresh_token, :scope

      def initialize(grant_type, client_id, client_secret, code = nil, redirect_uri = nil, audience = nil,
                     refresh_token = nil, scope = nil)
        raise ArgumentError, 'client_id and client_secret are required' if client_id.nil? || client_secret.nil?

        @grant_type = grant_type
        @client_id = client_id
        @client_secret = client_secret
        @code = code
        @redirect_uri = redirect_uri
        @audience = audience
        @refresh_token = refresh_token
        @scope = scope
      end

      def fetch_access_token
        client = Twilio::REST::Client.new
        token_instance = client.preview_iam.v1.token.create(grant_type: @grant_type,
                                                            client_id: @client_id, client_secret: @client_secret)
        token_instance.access_token
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
twilio-ruby-7.5.0 lib/twilio-ruby/http/client_token_manager.rb
twilio-ruby-7.4.5 lib/twilio-ruby/http/client_token_manager.rb
twilio-ruby-7.4.4 lib/twilio-ruby/http/client_token_manager.rb
twilio-ruby-7.4.3 lib/twilio-ruby/http/client_token_manager.rb
twilio-ruby-7.4.2 lib/twilio-ruby/http/client_token_manager.rb
twilio-ruby-7.4.1 lib/twilio-ruby/http/client_token_manager.rb
twilio-ruby-7.4.0 lib/twilio-ruby/http/client_token_manager.rb