class ApiAuth
Attributes
userid[RW]
Public Instance Methods
auth_request(username, password)
click to toggle source
# File lib/basis-band/api-auth.rb, line 13 def auth_request(username, password) u = URI.parse('https://app.mybasis.com/login') http = Net::HTTP.new(u.host, u.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_PEER request = Net::HTTP::Post.new(u.request_uri) request.set_form_data({'next' => 'https://app.mybasis.com', 'submit' => 'Login', 'username' => username, 'password' => password}) response = http.request(request) tok_match = response['set-cookie'].match /access_token=([0-9a-f]+);/ tok_match[1] end
get_user_id(access_token)
click to toggle source
# File lib/basis-band/api-auth.rb, line 28 def get_user_id(access_token) u = URI.parse('https://app.mybasis.com/api/v1/user/me.json') http = Net::HTTP.new(u.host, u.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_PEER request = Net::HTTP::Get.new(u.request_uri) request.add_field('X-Basis-Authorization', "OAuth %s" % access_token) json = JSON.parse(http.request(request).body) @userid = json['id'] end
login(username, password)
click to toggle source
# File lib/basis-band/api-auth.rb, line 8 def login(username, password) token = auth_request(username, password) [token, get_user_id(token)] end