Method: Compliance::API.post_refresh_token

Defined in:
lib/bundles/inspec-compliance/api.rb

.post_refresh_token(url, token, insecure) ⇒ Object



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/bundles/inspec-compliance/api.rb', line 74

def self.post_refresh_token(url, token, insecure)
  uri = URI.parse("#{url}/login")
  req = Net::HTTP::Post.new(uri.path)
  # req['Authorization'] = "Bearer #{token}"
  req.body = { token: token }.to_json
  access_token = nil
  response = Compliance::HTTP.send_request(uri, req, insecure)
  data = response.body
  if !data.nil?
    begin
      tokendata = JSON.parse(data)
      access_token = tokendata['access_token']
      msg = 'Successfully fetched access token'
      success = true
    rescue JSON::ParserError => e
      success = false
      msg = e.message
    end
  else
    success = false
    msg = 'Invalid refresh_token'
  end

  [success, msg, access_token]
end