class Elance::Authentication
Public Class Methods
new(client_id, client_secret)
click to toggle source
# File lib/elance/authentication.rb, line 13 def initialize(client_id, client_secret) @client_id = client_id @client_secret = client_secret @curl_headers = [] @response_code = 0 end
Public Instance Methods
exec_request(url, access_token)
click to toggle source
# File lib/elance/authentication.rb, line 42 def exec_request(url, access_token) c = self.init_curl( url ) c.headers['Authorization'] = "Basic "+ access_token c.perform c.body_str end
get_access_token(auth_code)
click to toggle source
# File lib/elance/authentication.rb, line 32 def get_access_token(auth_code) c = self.init_curl( @@access_token_url ) c.headers['Authorization'] = "Basic "+ Base64.encode64(@client_id + ":" + @client_secret) c.http_post(Curl::PostField.content('code', URI.escape(auth_code)), Curl::PostField.content('grant_type', 'authorization_code')) res = c.perform ap res res end
init_curl(url)
click to toggle source
# File lib/elance/authentication.rb, line 24 def init_curl(url) c = Curl::Easy.new( url ) c.set(:ENCODING, 1) c.set(:SSL_VERIFYPEER, false) c.set(:CAINFO, "/etc/ssl/certs/ca-certificates.crt") c end
request_access_code(redirect_url)
click to toggle source
# File lib/elance/authentication.rb, line 20 def request_access_code(redirect_url) @@authorize_url + "?client_id=" + @client_id + "&response_type=code&redirect_uri=" + redirect_url end