module Saasu::Auth
Public Instance Methods
authenticate()
click to toggle source
# File lib/saasu/auth.rb, line 8 def authenticate Saasu::Client.connection.authorization :Bearer, token end
Private Instance Methods
get_access_token()
click to toggle source
# File lib/saasu/auth.rb, line 43 def get_access_token result = Saasu::Client.connection.post('authorisation/token') do |request| request.body = { grant_type: 'password', scope: 'full', username: Saasu::Config.username, password: Saasu::Config.password }.to_json end unless result.status == 200 raise "Failed to authenicate Saasu API. Please check your username and password." end @access_token = result.body['access_token'] @refresh_token = result.body['refresh_token'] @token_expiry = DateTime.now + (result.body['expires_in']).to_i.seconds @access_token end
refresh_access_token()
click to toggle source
# File lib/saasu/auth.rb, line 28 def refresh_access_token result = Saasu::Client.connection.post('authorisation/refresh') do |request| request.body = { grant_type: 'refresh_token', refresh_token: @refresh_token }.to_json end unless result.status == 200 raise "Failed to authenicate Saasu API. Please check your username and password." end @access_token = result.body['access_token'] @token_expiry = DateTime.now + (result.body['expires_in']).to_i.seconds @access_token end
token()
click to toggle source
# File lib/saasu/auth.rb, line 18 def token if @access_token && !token_expired? @access_token elsif @access_token && token_expired? refresh_access_token else get_access_token end end
token_expired?()
click to toggle source
# File lib/saasu/auth.rb, line 13 def token_expired? @token_expiry ||= Date.yesterday @token_expiry < DateTime.now end