Class: Dwolla::OAuth

Inherits:
Object
  • Object
show all
Defined in:
lib/dwolla/oauth.rb

Class Method Summary collapse

Class Method Details

.get_auth_url(redirect_uri = nil, scope = Dwolla::scope) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/dwolla/oauth.rb', line 3

def self.get_auth_url(redirect_uri=nil, scope=Dwolla::scope)
    raise AuthenticationError.new('No Api Key Provided.') unless Dwolla::api_key

    params = {
        :scope => scope,
        :response_type => 'code',
        :client_id => Dwolla::api_key
    }

    params['redirect_uri'] = redirect_uri unless redirect_uri.nil?

    uri = Addressable::URI.new
    uri.query_values = params

    if Dwolla::debug and Dwolla::sandbox
        puts "[DWOLLA SANDBOX MODE OPERATION]"
    end

    return auth_url + '?' + uri.query
end

.get_token(code = nil, redirect_uri = nil) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/dwolla/oauth.rb', line 24

def self.get_token(code=nil, redirect_uri=nil)
    raise MissingParameterError.new('No Code Provided.') if code.nil?

    params = {
        :grant_type => 'authorization_code',
        :code => code
    }

    params['redirect_uri'] = redirect_uri unless redirect_uri.nil?

    resp = Dwolla.request(:get, token_url, params, {}, false, false, true)

    raise APIError.new(resp['error_description']) unless resp['access_token']

    return resp['access_token']
end