Module: ClioClient::Authorization

Included in:
Session
Defined in:
lib/clio_client/authorization.rb

Instance Method Summary collapse

Instance Method Details

#authorize_url(redirect_uri, state = nil) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/clio_client/authorization.rb', line 6

def authorize_url(redirect_uri, state = nil)
  params = { response_type: :code, 
    client_id: self.client_id,
    redirect_uri: redirect_uri
  }
  params[:state] = state if state
  base_uri("/oauth/authorize", params).to_s
end

#authorize_with_code(redirect_uri, code) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/clio_client/authorization.rb', line 15

def authorize_with_code(redirect_uri, code)
  params = { code: code,
    grant_type: "authorization_code",
    client_id: self.client_id,
    client_secret: self.client_secret,
    redirect_uri: redirect_uri
  }
  uri = base_uri("/oauth/token")
  req = Net::HTTP::Post.new(uri.request_uri)
  req.set_form_data params
  credentials = make_request(req, uri)
  self.access_token = credentials["access_token"]
  credentials
end

#authorized?Boolean

Returns:

  • (Boolean)


30
31
32
33
34
35
36
37
# File 'lib/clio_client/authorization.rb', line 30

def authorized?
  begin
    get("/users/who_am_i")
    true
  rescue ClioClient::Unauthorized
    false
  end
end