mauth-client 4.0.4 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cfde2c6e67fe8e386a2841a096e9e0d6e2e8259b
4
- data.tar.gz: 975e40ebf4fadd4fc35c60f12afbd6ad97a25cbf
2
+ SHA256:
3
+ metadata.gz: 9a4124d677e7aee9626ea7e796bd5f92c695146cdadc125c2f05f3138d471758
4
+ data.tar.gz: 4eda569778ce91ced2cedfd14a231281e35ec068b86d2e551d52541d05b3f795
5
5
  SHA512:
6
- metadata.gz: 50642c879eb014f6fa2696dbf5a5825216e983066b8c7336311b74e8c8625078880dcc8eb7459b6fe6a89714673536e36aef931a7ea89a801cf4c09da7b99e14
7
- data.tar.gz: 3bd2c7e5f1552f64e4194c98844ab35d04efe7699c1734978500a6da005e17b193f7621560b6fb1cd9df9928fc605b70b9b813499a0abe3130554f4ab297ebc0
6
+ metadata.gz: 6118dc54acd81a9dc16d1364fab960dee75c5a5e055fc79bb2517d6eb48e3dbf033078b913b231f430fc9ae953be5f56ab727664bc147b0e90f0f71203ec9f14
7
+ data.tar.gz: fa8e3328ef7e779322e8ad0c7f4a3520f53370838a10e4cf1d0b8710ee0031fc37f4d5d31f080d39d7134c0dfa2a263a131c1323269e988a79978bcf21efd775
data/.fossa.yml ADDED
@@ -0,0 +1,14 @@
1
+ # Generated by FOSSA CLI (https://github.com/fossas/fossa-cli)
2
+ # Visit https://fossa.io to learn more
3
+
4
+ version: 1
5
+ cli:
6
+ server: https://app.fossa.io
7
+ fetcher: custom
8
+ project: mauth-client-ruby
9
+ analyze:
10
+ modules:
11
+ - name: Gemfile
12
+ type: gem
13
+ target: .
14
+ path: .
data/.travis.yml CHANGED
@@ -1,22 +1,36 @@
1
1
  language: ruby
2
2
  cache: bundler
3
- sudo: false
4
3
 
5
4
  rvm:
6
- - 2.2.10
7
- - 2.3.7
8
- - 2.4.4
9
- - 2.5.1
5
+ - 2.3.8
6
+ - 2.4.6
7
+ - 2.5.5
8
+ - 2.6.3
10
9
 
11
- matrix:
12
- include:
13
- - rvm: 2.1.10
14
- gemfile: gemfiles/ruby_2.1.gemfile
15
-
16
- # https://github.com/travis-ci/travis-ci/issues/8978
17
10
  before_install:
18
- - gem update --system
19
- - gem install bundler # https://github.com/travis-ci/travis-ci/issues/9383
20
- - bundle --version
11
+ - gem update --system -N > /dev/null && echo "Rubygems version $(gem --version)"
12
+ - gem install bundler --force -N -v=2.0.1 && bundle --version
13
+
14
+ install:
15
+ - bundle install --jobs=3 --retry=3
16
+ - >-
17
+ curl -H 'Cache-Control: no-cache'
18
+ https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/main/travis_ci/fossa_install.sh |
19
+ bash -s -- -b $TRAVIS_BUILD_DIR
20
+
21
+ script:
22
+ - bundle exec rspec
23
+ - >-
24
+ curl -H 'Cache-Control: no-cache'
25
+ https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/main/travis_ci/fossa_run.sh |
26
+ bash -s -- -b $TRAVIS_BUILD_DIR
21
27
 
22
- script: "bundle exec rspec"
28
+ deploy:
29
+ provider: rubygems
30
+ gem: mauth-client
31
+ api_key:
32
+ secure: QDp0P/lMGLYc4+A3M6VD9y551X6GrGwOSBE6xSG4lE6mPXoSISK5Yj18vNWQRQuQ4BsE6CdfZ/xsPjSRDda6b+yUQbgisjJ+Ry6jUVE1v9UKTZ0VHgHyXcsaJFC29tBKBeuGCj0AD5qhbTO1+ybeZSUfdSeVVoidD4W/bSnvzlT1Lht7IE8jbHbR57LsJKoEaDxKu33dg4CYV96xrlYGxHAS2UgEgi5Ve3ohzBWkX9RWF/wWoGCzIYhJBzXgCEEFw8iWkspjTePgv9yjD2HIMtF44aiSTHM5iqBBsYJ7A8+kUwoq7+srsashHZ1wZz1YulsCSkjwM9AXZ4E0f9AnERw/RQ5gG7bCuHZtSG9g/0SWBQeNfkAF3An6eTSS24KVfnarGdH2bk0G28k2oP26MWiDKz8nlQxNAY4rH+dITael18bgf45H4KccQqiooBEGnuYpUAuIPB+1l+BsIcRQnrU3LDtmtZn0KrCHHJ7EHOdogOG+/Pxof8ht1xF7V+HYhhzSRJs2JkvmZsp4q2T7W6b6kfi59Cz3LpqA1HHYcL5/OFZeLA/TlCNke0CRMxG8k3udDKj50jqFATXEa8lNyGLjmWh7tL9Bb/uy+CU47qUdx+V4K+kheAvNFtHfpxmyUGJSY0FH02H1VBPWm10DZ7kH+6jgCKyXuql+yWDw62s=
33
+ on:
34
+ tags: true
35
+ repo: mdsol/mauth-client-ruby
36
+ condition: "$TRAVIS_RUBY_VERSION == 2.6.3"
data/CHANGELOG.md CHANGED
@@ -1,4 +1,15 @@
1
- # MAuth-Client History
1
+ ## v4.2.1
2
+ * Fix SecurityTokenCacher to not cache tokens forever.
3
+
4
+ ## v4.2.0
5
+ * Drop legacy security token expiry in favor of honoring server cache headers via Faraday HTTP Cache Middleware.
6
+
7
+ ## v4.1.1
8
+ - Use warning level instead of error level for logs about missing mauth header.
9
+
10
+ ## v4.1.0
11
+ - Drop support for Ruby < 2.3.0
12
+ - Update development dependencies
2
13
 
3
14
  ## v4.0.4
4
15
  - Restore original behavior in the proxy of forwarding of headers that begin with HTTP_ (except for HTTP_HOST) but removing the HTTP_.
data/Rakefile CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
- require 'kender/tasks'
4
3
 
5
4
  RSpec::Core::RakeTask.new(:spec)
6
5
 
@@ -1,8 +1,11 @@
1
- # MAuth-Client implementations
1
+ # MAuth client implementations
2
2
 
3
3
  - .Net: [mauth-client-dotnet](https://github.com/mdsol/mauth-client-dotnet)
4
+ - Clojure: [clojure-mauth-client](https://github.com/mdsol/clojure-mauth-client)
4
5
  - Go: [go-mauth-client](https://github.com/mdsol/go-mauth-client)
5
- - Java: [mauth-java-client](https://github.com/mdsol/mauth-java-client)
6
- - Python: [flask-mauth](https://github.com/mdsol/flask-mauth)
6
+ - Java: [mauth-jvm-clients](https://github.com/mdsol/mauth-jvm-clients)
7
+ - Python:
8
+ - [requests-mauth](https://github.com/mdsol/requests-mauth)
9
+ - [flask-mauth](https://github.com/mdsol/flask-mauth)
7
10
  - R: [RMauthClient](https://github.com/mdsol/RMauthClient)
8
11
  - Ruby: [mauth-client-ruby](https://github.com/mdsol/mauth-client-ruby)
data/examples/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'faraday', '~> 0.9.0'
3
+ gem 'faraday', '~> 0.15'
4
4
  gem 'mauth-client', path: '..'
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- mauth-client (3.1.4)
4
+ mauth-client (4.1.0)
5
5
  coderay (~> 1.0)
6
6
  dice_bag (>= 0.9, < 2.0)
7
7
  faraday (~> 0.7)
@@ -12,30 +12,30 @@ PATH
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- coderay (1.1.1)
16
- dice_bag (1.1.1)
15
+ coderay (1.1.2)
16
+ dice_bag (1.3.1)
17
17
  diff-lcs (~> 1.0)
18
18
  rake
19
19
  thor (~> 0.0)
20
- diff-lcs (1.2.5)
21
- faraday (0.9.2)
20
+ diff-lcs (1.3)
21
+ faraday (0.15.3)
22
22
  multipart-post (>= 1.2, < 3)
23
- faraday_middleware (0.10.0)
24
- faraday (>= 0.7.4, < 0.10)
23
+ faraday_middleware (0.12.2)
24
+ faraday (>= 0.7.4, < 1.0)
25
25
  multipart-post (2.0.0)
26
- rack (2.0.1)
27
- rake (11.2.2)
28
- term-ansicolor (1.3.2)
26
+ rack (2.0.6)
27
+ rake (12.3.1)
28
+ term-ansicolor (1.7.0)
29
29
  tins (~> 1.0)
30
- thor (0.19.1)
31
- tins (1.11.0)
30
+ thor (0.20.3)
31
+ tins (1.20.2)
32
32
 
33
33
  PLATFORMS
34
34
  ruby
35
35
 
36
36
  DEPENDENCIES
37
- faraday (~> 0.9.0)
37
+ faraday (~> 0.15)
38
38
  mauth-client!
39
39
 
40
40
  BUNDLED WITH
41
- 1.12.5
41
+ 1.17.1
data/lib/mauth/client.rb CHANGED
@@ -7,6 +7,8 @@ require 'mauth/core_ext'
7
7
  require 'mauth/autoload'
8
8
  require 'mauth/dice_bag/mauth_templates'
9
9
  require 'mauth/version'
10
+ require 'faraday-http-cache'
11
+ require 'mauth/faraday'
10
12
 
11
13
  module MAuth
12
14
  class Client
@@ -116,6 +118,11 @@ module MAuth
116
118
  class InauthenticError < StandardError
117
119
  end
118
120
 
121
+ # Used when the incoming request does not contain any mAuth related information
122
+ class MauthNotPresent < StandardError
123
+ end
124
+
125
+
119
126
  # required information for signing was missing
120
127
  class UnableToSignError < StandardError
121
128
  end
@@ -288,7 +295,7 @@ module MAuth
288
295
  begin
289
296
  authenticate!(object)
290
297
  true
291
- rescue InauthenticError
298
+ rescue InauthenticError, MauthNotPresent
292
299
  false
293
300
  end
294
301
  end
@@ -299,13 +306,14 @@ module MAuth
299
306
  time_valid!(object)
300
307
  token_valid!(object)
301
308
  signature_valid!(object)
302
- rescue InauthenticError
303
- logger.error "mAuth signature authentication failed for #{object.class}. encountered error:"
304
- $!.message.split("\n").each { |l| logger.error "\t#{l}" }
309
+ rescue MauthNotPresent => e
310
+ logger.warn "mAuth signature not present on #{object.class}. Exception: #{e.message}"
311
+ raise
312
+ rescue InauthenticError => e
313
+ logger.error "mAuth signature authentication failed for #{object.class}. Exception: #{e.message}"
305
314
  raise
306
- rescue UnableToAuthenticateError
307
- logger.error "Unable to authenticate with MAuth. encountered error:"
308
- $!.message.split("\n").each { |l| logger.error "\t#{l}" }
315
+ rescue UnableToAuthenticateError => e
316
+ logger.error "Unable to authenticate with MAuth for #{object.class}. Exception: #{e.message}"
309
317
  raise
310
318
  end
311
319
 
@@ -315,27 +323,25 @@ module MAuth
315
323
  def log_authentication_request(object)
316
324
  object_app_uuid = object.signature_app_uuid || '[none provided]'
317
325
  logger.info "Mauth-client attempting to authenticate request from app with mauth app uuid #{object_app_uuid} to app with mauth app uuid #{client_app_uuid}."
318
- rescue # don't let a failed attempt to log disrupt the rest of the action
319
- logger.error "Mauth-client failed to log information about its attempts to authenticate the current request because #{$!}"
320
326
  end
321
327
 
322
328
  def authentication_present!(object)
323
329
  if object.x_mws_authentication.nil? || object.x_mws_authentication !~ /\S/
324
- raise InauthenticError, "Authentication Failed. No mAuth signature present; X-MWS-Authentication header is blank."
330
+ raise MauthNotPresent, "Authentication Failed. No mAuth signature present; X-MWS-Authentication header is blank."
325
331
  end
326
332
  end
327
333
 
328
334
  def time_valid!(object, now = Time.now)
329
335
  if object.x_mws_time.nil?
330
- raise InauthenticError, "Time verification failed for #{object.class}. No x-mws-time present."
336
+ raise InauthenticError, "Time verification failed. No x-mws-time present."
331
337
  elsif !(-ALLOWED_DRIFT_SECONDS..ALLOWED_DRIFT_SECONDS).cover?(now.to_i - object.x_mws_time.to_i)
332
- raise InauthenticError, "Time verification failed for #{object.class}. #{object.x_mws_time} not within #{ALLOWED_DRIFT_SECONDS} of #{now}"
338
+ raise InauthenticError, "Time verification failed. #{object.x_mws_time} not within #{ALLOWED_DRIFT_SECONDS} of #{now}"
333
339
  end
334
340
  end
335
341
 
336
342
  def token_valid!(object)
337
343
  unless object.signature_token == MWS_TOKEN
338
- raise InauthenticError, "Token verification failed for #{object.class}. Expected #{MWS_TOKEN.inspect}; token was #{object.signature_token}"
344
+ raise InauthenticError, "Token verification failed. Expected #{MWS_TOKEN.inspect}; token was #{object.signature_token}"
339
345
  end
340
346
  end
341
347
  end
@@ -401,61 +407,60 @@ module MAuth
401
407
  @security_token_cacher ||= SecurityTokenCacher.new(self)
402
408
  end
403
409
  class SecurityTokenCacher
404
- class ExpirableSecurityToken < Struct.new(:security_token, :create_time)
405
- CACHE_LIFE = 60
406
- def expired?
407
- create_time + CACHE_LIFE < Time.now
408
- end
409
- end
410
+
410
411
  def initialize(mauth_client)
411
412
  @mauth_client = mauth_client
412
413
  # TODO: should this be UnableToSignError?
413
- @mauth_client.assert_private_key(UnableToAuthenticateError.new("Cannot fetch public keys from mAuth service without a private key!"))
414
- @cache = {}
415
- require 'thread'
416
- @cache_write_lock = Mutex.new
414
+ @mauth_client.assert_private_key(
415
+ UnableToAuthenticateError.new("Cannot fetch public keys from mAuth service without a private key!")
416
+ )
417
417
  end
418
418
 
419
419
  def get(app_uuid)
420
- if !@cache[app_uuid] || @cache[app_uuid].expired?
421
- # url-encode the app_uuid to prevent trickery like escaping upward with ../../ in a malicious
422
- # app_uuid - probably not exploitable, but this is the right way to do it anyway.
423
- # use UNRESERVED instead of UNSAFE (the default) as UNSAFE doesn't include /
424
- url_encoded_app_uuid = URI.escape(app_uuid, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
425
- begin
426
- response = signed_mauth_connection.get("/mauth/#{@mauth_client.mauth_api_version}/security_tokens/#{url_encoded_app_uuid}.json")
427
- rescue ::Faraday::Error::ConnectionFailed, ::Faraday::Error::TimeoutError
428
- raise UnableToAuthenticateError, "mAuth service did not respond; received #{$!.class}: #{$!.message}"
429
- end
430
- if response.status == 200
431
- begin
432
- security_token = JSON.parse(response.body)
433
- rescue JSON::ParserError
434
- raise UnableToAuthenticateError, "mAuth service responded with unparseable json: #{response.body}\n#{$!.class}: #{$!.message}"
435
- end
436
- @cache_write_lock.synchronize do
437
- @cache[app_uuid] = ExpirableSecurityToken.new(security_token, Time.now)
438
- end
439
- elsif response.status == 404
440
- # signing with a key mAuth doesn't know about is considered inauthentic
441
- raise InauthenticError, "mAuth service responded with 404 looking up public key for #{app_uuid}"
442
- else
443
- @mauth_client.send(:mauth_service_response_error, response)
444
- end
420
+ # url-encode the app_uuid to prevent trickery like escaping upward with ../../ in a malicious
421
+ # app_uuid - probably not exploitable, but this is the right way to do it anyway.
422
+ # use UNRESERVED instead of UNSAFE (the default) as UNSAFE doesn't include /
423
+ url_encoded_app_uuid = URI.escape(app_uuid, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
424
+ path = "/mauth/#{@mauth_client.mauth_api_version}/security_tokens/#{url_encoded_app_uuid}.json"
425
+ response = signed_mauth_connection.get(path)
426
+
427
+ case response.status
428
+ when 200
429
+ security_token_from(response.body)
430
+ when 404
431
+ # signing with a key mAuth doesn't know about is considered inauthentic
432
+ raise InauthenticError, "mAuth service responded with 404 looking up public key for #{app_uuid}"
433
+ else
434
+ @mauth_client.send(:mauth_service_response_error, response)
445
435
  end
446
- @cache[app_uuid].security_token
436
+ rescue ::Faraday::ConnectionFailed, ::Faraday::TimeoutError => e
437
+ msg = "mAuth service did not respond; received #{e.class}: #{e.message}"
438
+ @mauth_client.logger.error("Unable to authenticate with MAuth. Exception #{msg}")
439
+ raise UnableToAuthenticateError, msg
447
440
  end
448
441
 
449
442
  private
450
443
 
444
+ def security_token_from(response_body)
445
+ JSON.parse response_body
446
+ rescue JSON::ParserError => e
447
+ msg = "mAuth service responded with unparseable json: #{response_body}\n#{e.class}: #{e.message}"
448
+ @mauth_client.logger.error("Unable to authenticate with MAuth. Exception #{msg}")
449
+ raise UnableToAuthenticateError, msg
450
+ end
451
+
451
452
  def signed_mauth_connection
452
- require 'faraday'
453
- require 'mauth/faraday'
454
- @mauth_client.faraday_options[:ssl] = { ca_path: @mauth_client.ssl_certs_path } if @mauth_client.ssl_certs_path
455
- @signed_mauth_connection ||= ::Faraday.new(@mauth_client.mauth_baseurl, @mauth_client.faraday_options) do |builder|
456
- builder.use MAuth::Faraday::MAuthClientUserAgent
457
- builder.use MAuth::Faraday::RequestSigner, 'mauth_client' => @mauth_client
458
- builder.adapter ::Faraday.default_adapter
453
+ @signed_mauth_connection ||= begin
454
+ if @mauth_client.ssl_certs_path
455
+ @mauth_client.faraday_options[:ssl] = { ca_path: @mauth_client.ssl_certs_path }
456
+ end
457
+
458
+ ::Faraday.new(@mauth_client.mauth_baseurl, @mauth_client.faraday_options) do |builder|
459
+ builder.use MAuth::Faraday::MAuthClientUserAgent
460
+ builder.use MAuth::Faraday::RequestSigner, 'mauth_client' => @mauth_client
461
+ builder.use :http_cache, logger: MAuth::Client.new.logger, shared_cache: false
462
+ builder.adapter ::Faraday.default_adapter
463
+ end
459
464
  end
460
465
  end
461
466
  end
data/lib/mauth/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module MAuth
2
- VERSION = '4.0.4'.freeze
2
+ VERSION = '4.2.1'.freeze
3
3
  end
data/mauth-client.gemspec CHANGED
@@ -11,27 +11,26 @@ Gem::Specification.new do |spec|
11
11
  spec.description = 'Client for signing and authentication of requests and responses with mAuth authentication. Includes middleware for Rack and Faraday for incoming and outgoing requests and responses.'
12
12
  spec.homepage = 'https://github.com/mdsol/mauth-client-ruby'
13
13
  spec.license = 'MIT'
14
- spec.required_ruby_version = '>= 2.1.0'
14
+ spec.required_ruby_version = '>= 2.3.0'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
17
  spec.bindir = 'exe'
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency 'faraday', '~> 0.7'
22
- spec.add_dependency 'faraday_middleware', '~> 0.9'
21
+ spec.add_dependency 'faraday', '>= 0.17', '< 1.0'
22
+ spec.add_dependency 'faraday_middleware', '>= 0.9', '< 2.0'
23
+ spec.add_dependency 'faraday-http-cache', '>= 2.0', '< 3.0'
23
24
  spec.add_dependency 'term-ansicolor', '~> 1.0'
24
25
  spec.add_dependency 'coderay', '~> 1.0'
25
26
  spec.add_dependency 'rack'
26
27
  spec.add_dependency 'dice_bag', '>= 0.9', '< 2.0'
27
28
 
28
- spec.add_development_dependency 'bundler', '~> 1.10'
29
+ spec.add_development_dependency 'bundler', '>= 1.17'
29
30
  spec.add_development_dependency 'byebug'
30
- spec.add_development_dependency 'kender', '~> 0.4'
31
- spec.add_development_dependency 'rack-test', '~> 0.6.3'
32
- spec.add_development_dependency 'rake', '~> 10.0'
33
- spec.add_development_dependency 'rspec', '~> 3.4'
34
- spec.add_development_dependency 'simplecov', '~> 0.12.0'
35
- spec.add_development_dependency 'timecop', '~> 0.8.1'
36
- spec.add_development_dependency 'uuidtools', '~> 2.1.5'
31
+ spec.add_development_dependency 'rack-test', '~> 1.1.0'
32
+ spec.add_development_dependency 'rake', '~> 12.0'
33
+ spec.add_development_dependency 'rspec', '~> 3.8'
34
+ spec.add_development_dependency 'simplecov', '~> 0.16'
35
+ spec.add_development_dependency 'timecop', '~> 0.9'
37
36
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mauth-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.4
4
+ version: 4.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Szenher
@@ -11,36 +11,68 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2018-09-11 00:00:00.000000000 Z
14
+ date: 2021-09-27 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: faraday
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - "~>"
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: '0.7'
22
+ version: '0.17'
23
+ - - "<"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.0'
23
26
  type: :runtime
24
27
  prerelease: false
25
28
  version_requirements: !ruby/object:Gem::Requirement
26
29
  requirements:
27
- - - "~>"
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0.17'
33
+ - - "<"
28
34
  - !ruby/object:Gem::Version
29
- version: '0.7'
35
+ version: '1.0'
30
36
  - !ruby/object:Gem::Dependency
31
37
  name: faraday_middleware
32
38
  requirement: !ruby/object:Gem::Requirement
33
39
  requirements:
34
- - - "~>"
40
+ - - ">="
35
41
  - !ruby/object:Gem::Version
36
42
  version: '0.9'
43
+ - - "<"
44
+ - !ruby/object:Gem::Version
45
+ version: '2.0'
37
46
  type: :runtime
38
47
  prerelease: false
39
48
  version_requirements: !ruby/object:Gem::Requirement
40
49
  requirements:
41
- - - "~>"
50
+ - - ">="
42
51
  - !ruby/object:Gem::Version
43
52
  version: '0.9'
53
+ - - "<"
54
+ - !ruby/object:Gem::Version
55
+ version: '2.0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: faraday-http-cache
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '2.0'
63
+ - - "<"
64
+ - !ruby/object:Gem::Version
65
+ version: '3.0'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '2.0'
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
44
76
  - !ruby/object:Gem::Dependency
45
77
  name: term-ansicolor
46
78
  requirement: !ruby/object:Gem::Requirement
@@ -107,16 +139,16 @@ dependencies:
107
139
  name: bundler
108
140
  requirement: !ruby/object:Gem::Requirement
109
141
  requirements:
110
- - - "~>"
142
+ - - ">="
111
143
  - !ruby/object:Gem::Version
112
- version: '1.10'
144
+ version: '1.17'
113
145
  type: :development
114
146
  prerelease: false
115
147
  version_requirements: !ruby/object:Gem::Requirement
116
148
  requirements:
117
- - - "~>"
149
+ - - ">="
118
150
  - !ruby/object:Gem::Version
119
- version: '1.10'
151
+ version: '1.17'
120
152
  - !ruby/object:Gem::Dependency
121
153
  name: byebug
122
154
  requirement: !ruby/object:Gem::Requirement
@@ -131,104 +163,76 @@ dependencies:
131
163
  - - ">="
132
164
  - !ruby/object:Gem::Version
133
165
  version: '0'
134
- - !ruby/object:Gem::Dependency
135
- name: kender
136
- requirement: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - "~>"
139
- - !ruby/object:Gem::Version
140
- version: '0.4'
141
- type: :development
142
- prerelease: false
143
- version_requirements: !ruby/object:Gem::Requirement
144
- requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '0.4'
148
166
  - !ruby/object:Gem::Dependency
149
167
  name: rack-test
150
168
  requirement: !ruby/object:Gem::Requirement
151
169
  requirements:
152
170
  - - "~>"
153
171
  - !ruby/object:Gem::Version
154
- version: 0.6.3
172
+ version: 1.1.0
155
173
  type: :development
156
174
  prerelease: false
157
175
  version_requirements: !ruby/object:Gem::Requirement
158
176
  requirements:
159
177
  - - "~>"
160
178
  - !ruby/object:Gem::Version
161
- version: 0.6.3
179
+ version: 1.1.0
162
180
  - !ruby/object:Gem::Dependency
163
181
  name: rake
164
182
  requirement: !ruby/object:Gem::Requirement
165
183
  requirements:
166
184
  - - "~>"
167
185
  - !ruby/object:Gem::Version
168
- version: '10.0'
186
+ version: '12.0'
169
187
  type: :development
170
188
  prerelease: false
171
189
  version_requirements: !ruby/object:Gem::Requirement
172
190
  requirements:
173
191
  - - "~>"
174
192
  - !ruby/object:Gem::Version
175
- version: '10.0'
193
+ version: '12.0'
176
194
  - !ruby/object:Gem::Dependency
177
195
  name: rspec
178
196
  requirement: !ruby/object:Gem::Requirement
179
197
  requirements:
180
198
  - - "~>"
181
199
  - !ruby/object:Gem::Version
182
- version: '3.4'
200
+ version: '3.8'
183
201
  type: :development
184
202
  prerelease: false
185
203
  version_requirements: !ruby/object:Gem::Requirement
186
204
  requirements:
187
205
  - - "~>"
188
206
  - !ruby/object:Gem::Version
189
- version: '3.4'
207
+ version: '3.8'
190
208
  - !ruby/object:Gem::Dependency
191
209
  name: simplecov
192
210
  requirement: !ruby/object:Gem::Requirement
193
211
  requirements:
194
212
  - - "~>"
195
213
  - !ruby/object:Gem::Version
196
- version: 0.12.0
214
+ version: '0.16'
197
215
  type: :development
198
216
  prerelease: false
199
217
  version_requirements: !ruby/object:Gem::Requirement
200
218
  requirements:
201
219
  - - "~>"
202
220
  - !ruby/object:Gem::Version
203
- version: 0.12.0
221
+ version: '0.16'
204
222
  - !ruby/object:Gem::Dependency
205
223
  name: timecop
206
224
  requirement: !ruby/object:Gem::Requirement
207
225
  requirements:
208
226
  - - "~>"
209
227
  - !ruby/object:Gem::Version
210
- version: 0.8.1
211
- type: :development
212
- prerelease: false
213
- version_requirements: !ruby/object:Gem::Requirement
214
- requirements:
215
- - - "~>"
216
- - !ruby/object:Gem::Version
217
- version: 0.8.1
218
- - !ruby/object:Gem::Dependency
219
- name: uuidtools
220
- requirement: !ruby/object:Gem::Requirement
221
- requirements:
222
- - - "~>"
223
- - !ruby/object:Gem::Version
224
- version: 2.1.5
228
+ version: '0.9'
225
229
  type: :development
226
230
  prerelease: false
227
231
  version_requirements: !ruby/object:Gem::Requirement
228
232
  requirements:
229
233
  - - "~>"
230
234
  - !ruby/object:Gem::Version
231
- version: 2.1.5
235
+ version: '0.9'
232
236
  description: Client for signing and authentication of requests and responses with
233
237
  mAuth authentication. Includes middleware for Rack and Faraday for incoming and
234
238
  outgoing requests and responses.
@@ -240,6 +244,7 @@ executables:
240
244
  extensions: []
241
245
  extra_rdoc_files: []
242
246
  files:
247
+ - ".fossa.yml"
243
248
  - ".gitignore"
244
249
  - ".travis.yml"
245
250
  - ".yardopts"
@@ -261,7 +266,6 @@ files:
261
266
  - examples/mauth_key
262
267
  - exe/mauth-client
263
268
  - exe/mauth-proxy
264
- - gemfiles/ruby_2.1.gemfile
265
269
  - lib/mauth-client.rb
266
270
  - lib/mauth/autoload.rb
267
271
  - lib/mauth/client.rb
@@ -291,15 +295,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
295
  requirements:
292
296
  - - ">="
293
297
  - !ruby/object:Gem::Version
294
- version: 2.1.0
298
+ version: 2.3.0
295
299
  required_rubygems_version: !ruby/object:Gem::Requirement
296
300
  requirements:
297
301
  - - ">="
298
302
  - !ruby/object:Gem::Version
299
303
  version: '0'
300
304
  requirements: []
301
- rubyforge_project:
302
- rubygems_version: 2.6.14
305
+ rubygems_version: 3.0.8
303
306
  signing_key:
304
307
  specification_version: 4
305
308
  summary: Sign and authenticate requests and responses with mAuth authentication.
@@ -1,5 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rack", "1.6.5"
4
-
5
- gemspec :path => "../"