mauth-client 6.1.0 → 6.3.0
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 +4 -4
- data/.gitmodules +3 -0
- data/.rspec +0 -1
- data/.travis.yml +13 -7
- data/CHANGELOG.md +14 -1
- data/CONTRIBUTING.md +17 -8
- data/doc/implementations.md +2 -3
- data/examples/Gemfile.lock +30 -9
- data/lib/mauth/client/local_authenticator.rb +1 -1
- data/lib/mauth/client/security_token_cacher.rb +43 -48
- data/lib/mauth/client/signer.rb +1 -1
- data/lib/mauth/request_and_response.rb +2 -2
- data/lib/mauth/version.rb +1 -1
- data/mauth-client.gemspec +3 -1
- metadata +39 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d26cf42f3bc98d5ce98981ee710c52d2b87a9360b6ae54391288182c95fa09a
|
|
4
|
+
data.tar.gz: 03c4a9d0e96187d57232d5a1923935ad5db9c190a891fda410595010bbf1d946
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 58751eb9040426589a0274390307abfc518c1465372c6b26329debb25a12c06fb63e96fccd4093fd45e90bd24fefd6c64966160b6520513515cd5dc9ac96f804
|
|
7
|
+
data.tar.gz: 0febdd455262d240d5f456acc00785d8a0941627ca352ffa559526ddadbaab726213b87e24eaa8f576c430b0a856725224ed48909cdc64cf9ce6b3a77b8c4acf
|
data/.gitmodules
ADDED
data/.rspec
CHANGED
data/.travis.yml
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
dist: focal
|
|
1
2
|
language: ruby
|
|
2
3
|
cache: bundler
|
|
3
4
|
|
|
4
5
|
rvm:
|
|
5
|
-
- 2.3
|
|
6
|
-
- 2.4
|
|
7
6
|
- 2.5
|
|
8
7
|
- 2.6
|
|
9
8
|
- 2.7
|
|
9
|
+
- 3.0
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
exclude:
|
|
13
|
+
- rvm: 3.0
|
|
14
|
+
gemfile: gemfiles/faraday_0.x.gemfile # Faraday v0.x does not officially support Ruby 3.0 (see: https://github.com/lostisland/faraday/releases/tag/v1.3.0)
|
|
10
15
|
|
|
11
16
|
gemfile:
|
|
12
17
|
- gemfiles/faraday_0.x.gemfile
|
|
@@ -14,28 +19,29 @@ gemfile:
|
|
|
14
19
|
|
|
15
20
|
before_install:
|
|
16
21
|
- gem update --system --force -N > /dev/null && echo "Rubygems version $(gem --version)"
|
|
17
|
-
- gem install bundler --force -N
|
|
22
|
+
- gem install bundler --force -N && bundle --version
|
|
18
23
|
|
|
19
24
|
install:
|
|
20
25
|
- bundle install --jobs=3 --retry=3
|
|
21
26
|
- >-
|
|
22
27
|
curl -H 'Cache-Control: no-cache'
|
|
23
|
-
https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/
|
|
28
|
+
https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/main/travis_ci/fossa_install.sh |
|
|
24
29
|
bash -s -- -b $TRAVIS_BUILD_DIR
|
|
25
30
|
|
|
26
31
|
script:
|
|
27
32
|
- bundle exec rspec
|
|
33
|
+
- bundle exec rake benchmark
|
|
28
34
|
- >-
|
|
29
35
|
curl -H 'Cache-Control: no-cache'
|
|
30
|
-
https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/
|
|
36
|
+
https://raw.githubusercontent.com/mdsol/fossa_ci_scripts/main/travis_ci/fossa_run.sh |
|
|
31
37
|
bash -s -- -b $TRAVIS_BUILD_DIR
|
|
32
38
|
|
|
33
39
|
deploy:
|
|
34
40
|
provider: rubygems
|
|
35
41
|
gem: mauth-client
|
|
36
42
|
api_key:
|
|
37
|
-
secure:
|
|
43
|
+
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=
|
|
38
44
|
on:
|
|
39
45
|
tags: true
|
|
40
46
|
repo: mdsol/mauth-client-ruby
|
|
41
|
-
condition: $TRAVIS_RUBY_VERSION ==
|
|
47
|
+
condition: $TRAVIS_RUBY_VERSION == 3.0 && $BUNDLE_GEMFILE == $TRAVIS_BUILD_DIR/gemfiles/faraday_1.x.gemfile
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
|
+
## v6.3.0
|
|
2
|
+
- Support Ruby 3.0.
|
|
3
|
+
- Drop support for Ruby < 2.5.0.
|
|
4
|
+
|
|
5
|
+
## v6.2.1
|
|
6
|
+
- Fix SecurityTokenCacher to not cache tokens forever.
|
|
7
|
+
|
|
8
|
+
## v6.2.0
|
|
9
|
+
- Drop legacy security token expiry in favor of honoring server cache headers via Faraday HTTP Cache Middleware.
|
|
10
|
+
|
|
11
|
+
## v6.1.1
|
|
12
|
+
- Replace `URI.escape` with `CGI.escape` in SecurityTokenCacher to suppress "URI.escape is obsolete" warning.
|
|
13
|
+
|
|
1
14
|
## v6.1.0
|
|
2
|
-
|
|
15
|
+
- Allow Faraday 1.x.
|
|
3
16
|
|
|
4
17
|
## v6.0.0
|
|
5
18
|
- Added parsing code to test with mauth-protocol-test-suite.
|
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.
|
data/doc/implementations.md
CHANGED
|
@@ -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.lock
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: ..
|
|
3
3
|
specs:
|
|
4
|
-
mauth-client (6.
|
|
4
|
+
mauth-client (6.3.0)
|
|
5
5
|
addressable (~> 2.0)
|
|
6
6
|
coderay (~> 1.0)
|
|
7
7
|
dice_bag (>= 0.9, < 2.0)
|
|
8
8
|
faraday (>= 0.9, < 2.0)
|
|
9
|
+
faraday-http-cache (>= 2.0, < 3.0)
|
|
9
10
|
faraday_middleware (>= 0.9, < 2.0)
|
|
10
11
|
rack
|
|
11
12
|
term-ansicolor (~> 1.0)
|
|
@@ -13,27 +14,47 @@ PATH
|
|
|
13
14
|
GEM
|
|
14
15
|
remote: https://rubygems.org/
|
|
15
16
|
specs:
|
|
16
|
-
addressable (2.
|
|
17
|
+
addressable (2.8.0)
|
|
17
18
|
public_suffix (>= 2.0.2, < 5.0)
|
|
18
19
|
coderay (1.1.3)
|
|
19
|
-
dice_bag (1.
|
|
20
|
+
dice_bag (1.6.0)
|
|
20
21
|
diff-lcs (~> 1.0)
|
|
21
22
|
rake
|
|
22
23
|
thor (< 2.0)
|
|
23
24
|
diff-lcs (1.4.4)
|
|
24
|
-
faraday (1.0
|
|
25
|
+
faraday (1.8.0)
|
|
26
|
+
faraday-em_http (~> 1.0)
|
|
27
|
+
faraday-em_synchrony (~> 1.0)
|
|
28
|
+
faraday-excon (~> 1.1)
|
|
29
|
+
faraday-httpclient (~> 1.0.1)
|
|
30
|
+
faraday-net_http (~> 1.0)
|
|
31
|
+
faraday-net_http_persistent (~> 1.1)
|
|
32
|
+
faraday-patron (~> 1.0)
|
|
33
|
+
faraday-rack (~> 1.0)
|
|
25
34
|
multipart-post (>= 1.2, < 3)
|
|
26
|
-
|
|
35
|
+
ruby2_keywords (>= 0.0.4)
|
|
36
|
+
faraday-em_http (1.0.0)
|
|
37
|
+
faraday-em_synchrony (1.0.0)
|
|
38
|
+
faraday-excon (1.1.0)
|
|
39
|
+
faraday-http-cache (2.2.0)
|
|
40
|
+
faraday (>= 0.8)
|
|
41
|
+
faraday-httpclient (1.0.1)
|
|
42
|
+
faraday-net_http (1.0.1)
|
|
43
|
+
faraday-net_http_persistent (1.2.0)
|
|
44
|
+
faraday-patron (1.0.0)
|
|
45
|
+
faraday-rack (1.0.0)
|
|
46
|
+
faraday_middleware (1.2.0)
|
|
27
47
|
faraday (~> 1.0)
|
|
28
48
|
multipart-post (2.1.1)
|
|
29
49
|
public_suffix (4.0.6)
|
|
30
50
|
rack (2.2.3)
|
|
31
|
-
rake (13.0.
|
|
51
|
+
rake (13.0.6)
|
|
52
|
+
ruby2_keywords (0.0.5)
|
|
32
53
|
sync (0.5.0)
|
|
33
54
|
term-ansicolor (1.7.1)
|
|
34
55
|
tins (~> 1.0)
|
|
35
|
-
thor (1.0
|
|
36
|
-
tins (1.
|
|
56
|
+
thor (1.1.0)
|
|
57
|
+
tins (1.29.1)
|
|
37
58
|
sync
|
|
38
59
|
|
|
39
60
|
PLATFORMS
|
|
@@ -44,4 +65,4 @@ DEPENDENCIES
|
|
|
44
65
|
mauth-client!
|
|
45
66
|
|
|
46
67
|
BUNDLED WITH
|
|
47
|
-
2.
|
|
68
|
+
2.2.29
|
|
@@ -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(
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
data/lib/mauth/client/signer.rb
CHANGED
|
@@ -56,7 +56,7 @@ module MAuth
|
|
|
56
56
|
|
|
57
57
|
def signature_v1(string_to_sign)
|
|
58
58
|
assert_private_key(UNABLE_TO_SIGN_ERR)
|
|
59
|
-
hashed_string_to_sign = Digest::SHA512.hexdigest(string_to_sign)
|
|
59
|
+
hashed_string_to_sign = OpenSSL::Digest::SHA512.hexdigest(string_to_sign)
|
|
60
60
|
Base64.encode64(private_key.private_encrypt(hashed_string_to_sign)).delete("\n")
|
|
61
61
|
end
|
|
62
62
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'openssl'
|
|
2
2
|
require 'addressable'
|
|
3
3
|
|
|
4
4
|
module MAuth
|
|
@@ -61,7 +61,7 @@ module MAuth
|
|
|
61
61
|
# memoization of body_digest to avoid hashing three times when we call
|
|
62
62
|
# string_to_sign_v2 three times in client#signature_valid_v2!
|
|
63
63
|
# note that if :body is nil we hash an empty string ('')
|
|
64
|
-
attrs_with_overrides[:body_digest] ||= Digest::SHA512.hexdigest(attrs_with_overrides[:body] || '')
|
|
64
|
+
attrs_with_overrides[:body_digest] ||= OpenSSL::Digest::SHA512.hexdigest(attrs_with_overrides[:body] || '')
|
|
65
65
|
attrs_with_overrides[:encoded_query_params] = unescape_encode_query_string(attrs_with_overrides[:query_string] || '')
|
|
66
66
|
attrs_with_overrides[:request_url] = normalize_path(attrs_with_overrides[:request_url])
|
|
67
67
|
|
data/lib/mauth/version.rb
CHANGED
data/mauth-client.gemspec
CHANGED
|
@@ -11,7 +11,7 @@ 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.
|
|
14
|
+
spec.required_ruby_version = '>= 2.5.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'
|
|
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
|
|
21
21
|
spec.add_dependency 'faraday', '>= 0.9', '< 2.0'
|
|
22
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'
|
|
@@ -35,4 +36,5 @@ Gem::Specification.new do |spec|
|
|
|
35
36
|
spec.add_development_dependency 'simplecov', '~> 0.16'
|
|
36
37
|
spec.add_development_dependency 'timecop', '~> 0.9'
|
|
37
38
|
spec.add_development_dependency 'benchmark-ips', '~> 2.7'
|
|
39
|
+
spec.add_development_dependency 'webmock', '~> 3.0'
|
|
38
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.
|
|
4
|
+
version: 6.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matthew Szenher
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: exe
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date:
|
|
14
|
+
date: 2021-10-20 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: faraday
|
|
@@ -53,6 +53,26 @@ dependencies:
|
|
|
53
53
|
- - "<"
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
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'
|
|
56
76
|
- !ruby/object:Gem::Dependency
|
|
57
77
|
name: term-ansicolor
|
|
58
78
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -255,6 +275,20 @@ dependencies:
|
|
|
255
275
|
- - "~>"
|
|
256
276
|
- !ruby/object:Gem::Version
|
|
257
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'
|
|
258
292
|
description: Client for signing and authentication of requests and responses with
|
|
259
293
|
mAuth authentication. Includes middleware for Rack and Faraday for incoming and
|
|
260
294
|
outgoing requests and responses.
|
|
@@ -268,6 +302,7 @@ extra_rdoc_files: []
|
|
|
268
302
|
files:
|
|
269
303
|
- ".fossa.yml"
|
|
270
304
|
- ".gitignore"
|
|
305
|
+
- ".gitmodules"
|
|
271
306
|
- ".rspec"
|
|
272
307
|
- ".travis.yml"
|
|
273
308
|
- ".yardopts"
|
|
@@ -327,14 +362,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
327
362
|
requirements:
|
|
328
363
|
- - ">="
|
|
329
364
|
- !ruby/object:Gem::Version
|
|
330
|
-
version: 2.
|
|
365
|
+
version: 2.5.0
|
|
331
366
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
332
367
|
requirements:
|
|
333
368
|
- - ">="
|
|
334
369
|
- !ruby/object:Gem::Version
|
|
335
370
|
version: '0'
|
|
336
371
|
requirements: []
|
|
337
|
-
rubygems_version: 3.
|
|
372
|
+
rubygems_version: 3.1.2
|
|
338
373
|
signing_key:
|
|
339
374
|
specification_version: 4
|
|
340
375
|
summary: Sign and authenticate requests and responses with mAuth authentication.
|