Sha256: 28302d2b2cf3e3476562bcb0c8873d1d32f375a5b7b28b2223c0ef3b27492d4e

Contents?: true

Size: 1.94 KB

Versions: 12

Compression:

Stored size: 1.94 KB

Contents

module Stripe
  module OAuth
    module OAuthOperations
      extend APIOperations::Request::ClassMethods

      def self.request(method, url, params, opts)
        opts = Util.normalize_opts(opts)
        opts[:client] ||= StripeClient.active_client
        opts[:api_base] ||= Stripe.connect_base

        super(method, url, params, opts)
      end
    end

    def self.get_client_id(params={})
      client_id = params[:client_id] || Stripe.client_id
      unless client_id
        raise AuthenticationError.new('No client_id provided. ' \
          'Set your client_id using "Stripe.client_id = <CLIENT-ID>". ' \
          'You can find your client_ids in your Stripe dashboard at ' \
          'https://dashboard.stripe.com/account/applications/settings, ' \
          'after registering your account as a platform. See ' \
          'https://stripe.com/docs/connect/standalone-accounts for details, ' \
          'or email support@stripe.com if you have any questions.')
      end
      client_id
    end

    def self.authorize_url(params={}, opts={})
      base = opts[:connect_base] || Stripe.connect_base

      params[:client_id] = get_client_id(params)
      params[:response_type] ||= 'code'
      query = Util.encode_parameters(params)

      "#{base}/oauth/authorize?#{query}"
    end

    def self.token(params={}, opts={})
      opts = Util.normalize_opts(opts)
      resp, opts = OAuthOperations.request(
        :post, '/oauth/token', params, opts)
      # This is just going to return a generic StripeObject, but that's okay
      Util.convert_to_stripe_object(resp.data, opts)
    end

    def self.deauthorize(params={}, opts={})
      opts = Util.normalize_opts(opts)
      params[:client_id] = get_client_id(params)
      resp, opts = OAuthOperations.request(
        :post, '/oauth/deauthorize', params, opts)
      # This is just going to return a generic StripeObject, but that's okay
      Util.convert_to_stripe_object(resp.data, opts)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
stripe-3.3.2 lib/stripe/oauth.rb
stripe-3.3.1 lib/stripe/oauth.rb
stripe-3.3.0 lib/stripe/oauth.rb
stripe-3.2.0 lib/stripe/oauth.rb
stripe-3.1.0 lib/stripe/oauth.rb
stripe-3.0.3 lib/stripe/oauth.rb
stripe-3.0.1 lib/stripe/oauth.rb
stripe-3.0.0 lib/stripe/oauth.rb
stripe-2.12.0 lib/stripe/oauth.rb
stripe-2.11.0 lib/stripe/oauth.rb
stripe-2.10.0 lib/stripe/oauth.rb
stripe-2.9.0 lib/stripe/oauth.rb