Method: InspecPlugins::Compliance::API.get_token_via_password
- Defined in:
- lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb
.get_token_via_password(url, username, password, insecure) ⇒ Object
Use username and password to get an API access token
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
# File 'lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb', line 174 def self.get_token_via_password(url, username, password, insecure) uri = URI.parse("#{url}/login") req = Net::HTTP::Post.new(uri.path) req.body = { userid: username, password: password }.to_json access_token = nil response = InspecPlugins::Compliance::HTTP.send_request(uri, req, insecure) data = response.body if response.code == '200' access_token = data msg = 'Successfully fetched an API access token valid for 12 hours' success = true else success = false msg = "Failed to authenticate to #{url} \n\ Response code: #{response.code}\n Body: #{response.body}" end [success, msg, access_token] end |