mauth-client 6.0.0 → 6.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ac6251a66453ac4fe6f1f449d407173851a6c34e3dd17bf3b80d816e619e045
4
- data.tar.gz: bf6f603408e51a6af3965e458f736ee3ed07763a7f0a662f1af0bd67a1cbeab3
3
+ metadata.gz: 1871065424b09a341be04ecae785be82574cef1fafacb689d2ea538e8d25d03e
4
+ data.tar.gz: 6ff7c37a989fcdd8ec8e4d46d9ce4e0ab61cd16a7fcd1784f1d85f24e67a2ad1
5
5
  SHA512:
6
- metadata.gz: e4faea9d5bcf10c64b3c3bc10dded82d14b68bce39312b87140e38ba5410ba9d67b993f94e2e96036d7d88550837a6088d43deb75d7e4fed8164b51ed81b296c
7
- data.tar.gz: a7a71824118eb6b4ca88a7f8a7afdb85719613997754392147dfa348eae7c04faf4ba7458eb28375d8b596c6b609ecbe6e8c42d5caed4931b9427c843bbf9448
6
+ metadata.gz: a71f408dd52e310d544f65d0b0ea03df7a671db23bfc11a39a38795bd23f3f0ff78472982e4176461fd55ea98d3ed5de9a8d9ec9cfea19ffd334d167d9ba1836
7
+ data.tar.gz: 8334a7c74a7829b52fae5bde7ac783e425c86285d6d17db8f79088ff3998736786813cc5a56de2ffe12fe594db32606e76d9831befb59e3ee507683e4bbd6c76
data/.gitignore CHANGED
@@ -6,5 +6,9 @@
6
6
  /yardoc
7
7
  /log
8
8
 
9
+ # Appraisal related files
10
+ /gemfiles/.bundle/
11
+ /gemfiles/*.gemfile.lock
12
+
9
13
  /Gemfile.lock
10
14
  .byebug_history
data/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "spec/fixtures/mauth-protocol-test-suite"]
2
+ path = spec/fixtures/mauth-protocol-test-suite
3
+ url = https://github.com/mdsol/mauth-protocol-test-suite.git
data/.rspec CHANGED
@@ -1,2 +1 @@
1
1
  --color
2
- --tag ~protocol_suite
data/.travis.yml CHANGED
@@ -2,31 +2,40 @@ language: ruby
2
2
  cache: bundler
3
3
 
4
4
  rvm:
5
- - 2.3.8
6
- - 2.4.6
7
- - 2.5.5
8
- - 2.6.3
5
+ - 2.3
6
+ - 2.4
7
+ - 2.5
8
+ - 2.6
9
+ - 2.7
10
+
11
+ gemfile:
12
+ - gemfiles/faraday_0.x.gemfile
13
+ - gemfiles/faraday_1.x.gemfile
9
14
 
10
15
  before_install:
11
- - gem update --system -N > /dev/null && echo "Rubygems version $(gem --version)"
12
- - gem install bundler --force -N -v=2.0.1 && bundle --version
16
+ - gem update --system --force -N > /dev/null && echo "Rubygems version $(gem --version)"
17
+ - gem install bundler --force -N -v=2.1.4 && bundle --version
13
18
 
14
19
  install:
15
20
  - bundle install --jobs=3 --retry=3
16
- - |-
17
- curl -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/master/travis_ci/fossa_install.sh | bash -s -- -b $TRAVIS_BUILD_DIR
21
+ - >-
22
+ curl -H 'Cache-Control: no-cache'
23
+ https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/master/travis_ci/fossa_install.sh |
24
+ bash -s -- -b $TRAVIS_BUILD_DIR
18
25
 
19
26
  script:
20
27
  - bundle exec rspec
21
- - |-
22
- curl -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/master/travis_ci/fossa_run.sh | bash -s -- -b $TRAVIS_BUILD_DIR
28
+ - >-
29
+ curl -H 'Cache-Control: no-cache'
30
+ https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/master/travis_ci/fossa_run.sh |
31
+ bash -s -- -b $TRAVIS_BUILD_DIR
23
32
 
24
33
  deploy:
25
34
  provider: rubygems
26
35
  gem: mauth-client
27
36
  api_key:
28
- secure: J0aPDp4+Ev2L+ZDcgpF+hAG95S4IsD6pCiDRxDWnrk79P5hq1rXoD3S39ANyqtQEQqkoVjsgoSP5JLi420aL2lYj7mhvaEOty9fK+flwUhI4nw+Gztm7EKNDNX8WKvk4fl4Zc7noIeI0uyes867hDjRQfyYvUuma7aK5H9NWzNUV9Q+KrVAoneVDGnNydxwkuuIpOFdjbVQgNpxVhVBV7Q4OLsB1KtWB9lptMwhqnyqZKex7JZ+37sojaj3oVT5ijrnAm+bR1QO1hGIOwuBako2iz+MBZHPccM4BEFsZme/7olypxv0JfeCuhqDnH1VWIFh6IZRDeLnZuX3qOhkdx4HLwxB//5O5+iapK0wh1zbnLvXqkE1dalUHyaZzStKH9xchIWl5I77Ica232OJYrpj9hhroae0p3VARF0IoZceKaH8NnMpq+nBAW4REcWrqPpe9xkRLDTNibkpaAy08vGOF2kPZkWw4lfkVBM1+wjY2xDn6wJ7VgQ1BeosbeTXbmny2TUeI22beihn894tzpCPPHiTRvKu0lV3jBfeoOAXzE333PrGm3zF9MDhg+1/iBwXVhdoOwEwBPQ/3Hu37xJn0AfRneni4StYnIkZ1Ur9Vub03J/3C3Aw6it99rQSWvC+2PzHqQhsG22VprvxlozFe1jFzdqKgvDkbkn44ltI=
37
+ 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=
29
38
  on:
30
39
  tags: true
31
40
  repo: mdsol/mauth-client-ruby
32
- condition: "$TRAVIS_RUBY_VERSION == 2.6.3"
41
+ condition: $TRAVIS_RUBY_VERSION == 2.7 && $BUNDLE_GEMFILE == $TRAVIS_BUILD_DIR/gemfiles/faraday_1.x.gemfile
data/Appraisals ADDED
@@ -0,0 +1,7 @@
1
+ appraise 'faraday_0.x' do
2
+ gem 'faraday', '0.9.0'
3
+ end
4
+
5
+ appraise 'faraday_1.x' do
6
+ gem 'faraday', '~> 1.0'
7
+ end
data/CHANGELOG.md CHANGED
@@ -1,4 +1,16 @@
1
- ## v.6.0.0
1
+ ## v6.2.1
2
+ * Fix SecurityTokenCacher to not cache tokens forever.
3
+
4
+ ## v6.2.0
5
+ * Drop legacy security token expiry in favor of honoring server cache headers via Faraday HTTP Cache Middleware.
6
+
7
+ ## v6.1.1
8
+ * Replace `URI.escape` with `CGI.escape` in SecurityTokenCacher to suppress "URI.escape is obsolete" warning.
9
+
10
+ ## v6.1.0
11
+ * Allow Faraday 1.x.
12
+
13
+ ## v6.0.0
2
14
  - Added parsing code to test with mauth-protocol-test-suite.
3
15
  - Added unescape step in query_string encoding in order to remove 'double encoding'.
4
16
  - Added normalization of paths.
data/CONTRIBUTING.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Contributing
2
2
 
3
+ ## Cloning the Repo
4
+
5
+ This repo contains the submodule `mauth-protocol-test-suite` so requires a flag when initially cloning in order to clone and init submodules.
6
+
7
+ ```
8
+ git clone --recurse-submodules git@github.com:mdsol/mauth-client-ruby.git
9
+ ```
10
+
11
+ If you have already cloned a version of this repo before the submodule was introduced in version 6.1.2 then run
12
+
13
+ ```
14
+ cd spec/fixtures/mauth-protocol-test-suite
15
+ git submodule update --init
16
+ ```
17
+
18
+ to init the submodule.
19
+
3
20
  ## General Information
4
21
 
5
22
  * Check out the latest develop to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
@@ -19,14 +36,6 @@ Next, run the tests:
19
36
  bundle exec rspec
20
37
  ```
21
38
 
22
- # Running mauth-protocol-test-suite
23
-
24
- To run the mauth-protocol-test-suite clone the latest test suite onto your machine and place it in the same parent directory as this repo (or supply the ENV var `TEST_SUITE_RELATIVE_PATH` with the path to the test suite relative to this repo). Then run:
25
-
26
- ```
27
- bundle exec rspec --tag protocol_suite
28
- ```
29
-
30
39
  ## Running Benchmark
31
40
 
32
41
  If you make changes which could affect performance, please run the benchmark before and after the change as a sanity check.
@@ -4,8 +4,7 @@
4
4
  - Clojure: [clojure-mauth-client](https://github.com/mdsol/clojure-mauth-client)
5
5
  - Go: [go-mauth-client](https://github.com/mdsol/go-mauth-client)
6
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
+ - Python: [mauth-client-python](https://github.com/mdsol/mauth-client-python)
10
8
  - R: [RMauthClient](https://github.com/mdsol/RMauthClient)
11
9
  - Ruby: [mauth-client-ruby](https://github.com/mdsol/mauth-client-ruby)
10
+ - Rust: [mauth-client-rust](https://github.com/mdsol/mauth-client-rust)
data/examples/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'faraday', '~> 0.15'
3
+ gem 'faraday', '~> 1.0'
4
4
  gem 'mauth-client', path: '..'
@@ -1,41 +1,47 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- mauth-client (4.1.0)
4
+ mauth-client (6.1.0)
5
+ addressable (~> 2.0)
5
6
  coderay (~> 1.0)
6
7
  dice_bag (>= 0.9, < 2.0)
7
- faraday (~> 0.7)
8
- faraday_middleware (~> 0.9)
8
+ faraday (>= 0.9, < 2.0)
9
+ faraday_middleware (>= 0.9, < 2.0)
9
10
  rack
10
11
  term-ansicolor (~> 1.0)
11
12
 
12
13
  GEM
13
14
  remote: https://rubygems.org/
14
15
  specs:
15
- coderay (1.1.2)
16
- dice_bag (1.3.1)
16
+ addressable (2.7.0)
17
+ public_suffix (>= 2.0.2, < 5.0)
18
+ coderay (1.1.3)
19
+ dice_bag (1.4.1)
17
20
  diff-lcs (~> 1.0)
18
21
  rake
19
- thor (~> 0.0)
20
- diff-lcs (1.3)
21
- faraday (0.15.3)
22
+ thor (< 2.0)
23
+ diff-lcs (1.4.4)
24
+ faraday (1.0.1)
22
25
  multipart-post (>= 1.2, < 3)
23
- faraday_middleware (0.12.2)
24
- faraday (>= 0.7.4, < 1.0)
25
- multipart-post (2.0.0)
26
- rack (2.0.6)
27
- rake (12.3.1)
28
- term-ansicolor (1.7.0)
26
+ faraday_middleware (1.0.0)
27
+ faraday (~> 1.0)
28
+ multipart-post (2.1.1)
29
+ public_suffix (4.0.6)
30
+ rack (2.2.3)
31
+ rake (13.0.1)
32
+ sync (0.5.0)
33
+ term-ansicolor (1.7.1)
29
34
  tins (~> 1.0)
30
- thor (0.20.3)
31
- tins (1.20.2)
35
+ thor (1.0.1)
36
+ tins (1.25.0)
37
+ sync
32
38
 
33
39
  PLATFORMS
34
40
  ruby
35
41
 
36
42
  DEPENDENCIES
37
- faraday (~> 0.15)
43
+ faraday (~> 1.0)
38
44
  mauth-client!
39
45
 
40
46
  BUNDLED WITH
41
- 1.17.1
47
+ 2.1.4
data/examples/config.yml CHANGED
@@ -6,3 +6,7 @@ mauth:
6
6
  mauth_api_version: v1
7
7
  app_uuid: <APP UUID>
8
8
  private_key_file: ./mauth_key
9
+ v2_only_authenticate: false
10
+ v2_only_sign_requests: false
11
+ disable_fallback_to_v1_on_v2_failure: true
12
+ v1_only_sign_requests: false
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "faraday", "0.9.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "faraday", "~> 1.0"
6
+
7
+ gemspec path: "../"
@@ -42,7 +42,7 @@ module MAuth
42
42
  def make_mauth_request(authentication_ticket)
43
43
  begin
44
44
  response = mauth_connection.post("/mauth/#{mauth_api_version}/authentication_tickets.json", 'authentication_ticket' => authentication_ticket)
45
- rescue ::Faraday::Error::ConnectionFailed, ::Faraday::Error::TimeoutError => e
45
+ rescue ::Faraday::ConnectionFailed, ::Faraday::TimeoutError => e
46
46
  msg = "mAuth service did not respond; received #{e.class}: #{e.message}"
47
47
  logger.error("Unable to authenticate with MAuth. Exception #{msg}")
48
48
  raise UnableToAuthenticateError, msg
@@ -1,68 +1,63 @@
1
+ require 'faraday-http-cache'
2
+ require 'mauth/faraday'
3
+
1
4
  module MAuth
2
5
  class Client
3
6
  module LocalAuthenticator
4
7
  class SecurityTokenCacher
5
8
 
6
- class ExpirableSecurityToken < Struct.new(:security_token, :create_time)
7
- CACHE_LIFE = 60
8
- def expired?
9
- create_time + CACHE_LIFE < Time.now
10
- end
11
- end
12
-
13
9
  def initialize(mauth_client)
14
10
  @mauth_client = mauth_client
15
11
  # TODO: should this be UnableToSignError?
16
- @mauth_client.assert_private_key(UnableToAuthenticateError.new("Cannot fetch public keys from mAuth service without a private key!"))
17
- @cache = {}
18
- require 'thread'
19
- @cache_write_lock = Mutex.new
12
+ @mauth_client.assert_private_key(
13
+ UnableToAuthenticateError.new("Cannot fetch public keys from mAuth service without a private key!")
14
+ )
20
15
  end
21
16
 
22
17
  def get(app_uuid)
23
- if !@cache[app_uuid] || @cache[app_uuid].expired?
24
- # url-encode the app_uuid to prevent trickery like escaping upward with ../../ in a malicious
25
- # app_uuid - probably not exploitable, but this is the right way to do it anyway.
26
- # use UNRESERVED instead of UNSAFE (the default) as UNSAFE doesn't include /
27
- url_encoded_app_uuid = URI.escape(app_uuid, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
28
- begin
29
- response = signed_mauth_connection.get("/mauth/#{@mauth_client.mauth_api_version}/security_tokens/#{url_encoded_app_uuid}.json")
30
- rescue ::Faraday::Error::ConnectionFailed, ::Faraday::Error::TimeoutError => e
31
- msg = "mAuth service did not respond; received #{e.class}: #{e.message}"
32
- @mauth_client.logger.error("Unable to authenticate with MAuth. Exception #{msg}")
33
- raise UnableToAuthenticateError, msg
34
- end
35
- if response.status == 200
36
- begin
37
- security_token = JSON.parse(response.body)
38
- rescue JSON::ParserError => e
39
- msg = "mAuth service responded with unparseable json: #{response.body}\n#{e.class}: #{e.message}"
40
- @mauth_client.logger.error("Unable to authenticate with MAuth. Exception #{msg}")
41
- raise UnableToAuthenticateError, msg
42
- end
43
- @cache_write_lock.synchronize do
44
- @cache[app_uuid] = ExpirableSecurityToken.new(security_token, Time.now)
45
- end
46
- elsif response.status == 404
47
- # signing with a key mAuth doesn't know about is considered inauthentic
48
- raise InauthenticError, "mAuth service responded with 404 looking up public key for #{app_uuid}"
49
- else
50
- @mauth_client.send(:mauth_service_response_error, response)
51
- end
18
+ # url-encode the app_uuid to prevent trickery like escaping upward with ../../ in a malicious
19
+ # app_uuid - probably not exploitable, but this is the right way to do it anyway.
20
+ url_encoded_app_uuid = CGI.escape(app_uuid)
21
+ path = "/mauth/#{@mauth_client.mauth_api_version}/security_tokens/#{url_encoded_app_uuid}.json"
22
+ response = signed_mauth_connection.get(path)
23
+
24
+ case response.status
25
+ when 200
26
+ security_token_from(response.body)
27
+ when 404
28
+ # signing with a key mAuth doesn't know about is considered inauthentic
29
+ raise InauthenticError, "mAuth service responded with 404 looking up public key for #{app_uuid}"
30
+ else
31
+ @mauth_client.send(:mauth_service_response_error, response)
52
32
  end
53
- @cache[app_uuid].security_token
33
+ rescue ::Faraday::ConnectionFailed, ::Faraday::TimeoutError => e
34
+ msg = "mAuth service did not respond; received #{e.class}: #{e.message}"
35
+ @mauth_client.logger.error("Unable to authenticate with MAuth. Exception #{msg}")
36
+ raise UnableToAuthenticateError, msg
54
37
  end
55
38
 
56
39
  private
57
40
 
41
+ def security_token_from(response_body)
42
+ JSON.parse response_body
43
+ rescue JSON::ParserError => e
44
+ msg = "mAuth service responded with unparseable json: #{response_body}\n#{e.class}: #{e.message}"
45
+ @mauth_client.logger.error("Unable to authenticate with MAuth. Exception #{msg}")
46
+ raise UnableToAuthenticateError, msg
47
+ end
48
+
58
49
  def signed_mauth_connection
59
- require 'faraday'
60
- require 'mauth/faraday'
61
- @mauth_client.faraday_options[:ssl] = { ca_path: @mauth_client.ssl_certs_path } if @mauth_client.ssl_certs_path
62
- @signed_mauth_connection ||= ::Faraday.new(@mauth_client.mauth_baseurl, @mauth_client.faraday_options) do |builder|
63
- builder.use MAuth::Faraday::MAuthClientUserAgent
64
- builder.use MAuth::Faraday::RequestSigner, 'mauth_client' => @mauth_client
65
- builder.adapter ::Faraday.default_adapter
50
+ @signed_mauth_connection ||= begin
51
+ if @mauth_client.ssl_certs_path
52
+ @mauth_client.faraday_options[:ssl] = { ca_path: @mauth_client.ssl_certs_path }
53
+ end
54
+
55
+ ::Faraday.new(@mauth_client.mauth_baseurl, @mauth_client.faraday_options) do |builder|
56
+ builder.use MAuth::Faraday::MAuthClientUserAgent
57
+ builder.use MAuth::Faraday::RequestSigner, 'mauth_client' => @mauth_client
58
+ builder.use :http_cache, logger: MAuth::Client.new.logger, shared_cache: false
59
+ builder.adapter ::Faraday.default_adapter
60
+ end
66
61
  end
67
62
  end
68
63
  end
@@ -26,7 +26,7 @@ module MAuth
26
26
  # for responses:
27
27
  # string_to_sign =
28
28
  # status_code_string + <LF> +
29
- # response_body_digest + <LF> +
29
+ # response_body + <LF> +
30
30
  # app_uuid + <LF> +
31
31
  # current_seconds_since_epoch
32
32
  def string_to_sign_v1(more_attributes)
data/lib/mauth/version.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MAuth
2
- VERSION = '6.0.0'.freeze
4
+ VERSION = '6.2.1'
3
5
  end
data/mauth-client.gemspec CHANGED
@@ -18,14 +18,16 @@ Gem::Specification.new do |spec|
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.9', '< 2.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
  spec.add_dependency 'addressable', '~> 2.0'
28
29
 
30
+ spec.add_development_dependency 'appraisal'
29
31
  spec.add_development_dependency 'bundler', '>= 1.17'
30
32
  spec.add_development_dependency 'byebug'
31
33
  spec.add_development_dependency 'rack-test', '~> 1.1.0'
@@ -34,4 +36,5 @@ Gem::Specification.new do |spec|
34
36
  spec.add_development_dependency 'simplecov', '~> 0.16'
35
37
  spec.add_development_dependency 'timecop', '~> 0.9'
36
38
  spec.add_development_dependency 'benchmark-ips', '~> 2.7'
39
+ spec.add_development_dependency 'webmock', '~> 3.0'
37
40
  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: 6.0.0
4
+ version: 6.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: 2020-05-07 00:00:00.000000000 Z
14
+ date: 2021-09-23 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
+ - !ruby/object:Gem::Version
22
+ version: '0.9'
23
+ - - "<"
21
24
  - !ruby/object:Gem::Version
22
- version: '0.7'
25
+ version: '2.0'
23
26
  type: :runtime
24
27
  prerelease: false
25
28
  version_requirements: !ruby/object:Gem::Requirement
26
29
  requirements:
27
- - - "~>"
30
+ - - ">="
28
31
  - !ruby/object:Gem::Version
29
- version: '0.7'
32
+ version: '0.9'
33
+ - - "<"
34
+ - !ruby/object:Gem::Version
35
+ version: '2.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
@@ -117,6 +149,20 @@ dependencies:
117
149
  - - "~>"
118
150
  - !ruby/object:Gem::Version
119
151
  version: '2.0'
152
+ - !ruby/object:Gem::Dependency
153
+ name: appraisal
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
120
166
  - !ruby/object:Gem::Dependency
121
167
  name: bundler
122
168
  requirement: !ruby/object:Gem::Requirement
@@ -229,6 +275,20 @@ dependencies:
229
275
  - - "~>"
230
276
  - !ruby/object:Gem::Version
231
277
  version: '2.7'
278
+ - !ruby/object:Gem::Dependency
279
+ name: webmock
280
+ requirement: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - "~>"
283
+ - !ruby/object:Gem::Version
284
+ version: '3.0'
285
+ type: :development
286
+ prerelease: false
287
+ version_requirements: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - "~>"
290
+ - !ruby/object:Gem::Version
291
+ version: '3.0'
232
292
  description: Client for signing and authentication of requests and responses with
233
293
  mAuth authentication. Includes middleware for Rack and Faraday for incoming and
234
294
  outgoing requests and responses.
@@ -242,9 +302,11 @@ extra_rdoc_files: []
242
302
  files:
243
303
  - ".fossa.yml"
244
304
  - ".gitignore"
305
+ - ".gitmodules"
245
306
  - ".rspec"
246
307
  - ".travis.yml"
247
308
  - ".yardopts"
309
+ - Appraisals
248
310
  - CHANGELOG.md
249
311
  - CONTRIBUTING.md
250
312
  - Gemfile
@@ -263,6 +325,8 @@ files:
263
325
  - examples/mauth_key
264
326
  - exe/mauth-client
265
327
  - exe/mauth-proxy
328
+ - gemfiles/faraday_0.x.gemfile
329
+ - gemfiles/faraday_1.x.gemfile
266
330
  - lib/mauth-client.rb
267
331
  - lib/mauth/autoload.rb
268
332
  - lib/mauth/client.rb
@@ -305,8 +369,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
305
369
  - !ruby/object:Gem::Version
306
370
  version: '0'
307
371
  requirements: []
308
- rubyforge_project:
309
- rubygems_version: 2.7.7
372
+ rubygems_version: 3.0.8
310
373
  signing_key:
311
374
  specification_version: 4
312
375
  summary: Sign and authenticate requests and responses with mAuth authentication.