json-jwt 1.15.3.1 → 1.16.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.

Potentially problematic release.


This version of json-jwt might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3d9dceefdfb0168531cd68668848730898141b097c5541cde5cbb95a1bc24d7
4
- data.tar.gz: 9dd27ddf48a2102ee1da5b8a7da411d10393fb622570a170b63dc328d50db7b3
3
+ metadata.gz: 2097e754332fbc0d82af414efcce07c63da2bbd7cc3f2976a8df1c770dffb9b8
4
+ data.tar.gz: a7a9950a0501b58b249bb39d2c369ea315cd40d4f9297b6e19f66d82763ec2ce
5
5
  SHA512:
6
- metadata.gz: edbf0b0eb0521841aae74427293f66595ab30dee065b59b21bf0e3bd57f929b8d700caa67d8458e6e832819d962998862067eb8de0ea5530db967f89e4b19cbc
7
- data.tar.gz: d7dcc87bf09ef1ddcf9b81306c41db9286e62f9f9b90c7838a1073f6d88cdc8a8114be0834dc54c2b1e4a69a7355771257b0093ec63b1554b3bfaeab685b022a
6
+ metadata.gz: a0092471b468de8a24909cafa45a86c934ee67c0eedf40ae962427f72007d038e1a2dde5a1d32c39465e9594b0c06e634bed8f8bade183a7919f5a12222ee916
7
+ data.tar.gz: 5b5ff6abbd60b781b7d9d291153a80f83a108fe37d9358dfac8463ff810b0016c5224f849baac3a4720d0bdc8b6d8bbdc0131780b8fba29c6e4d49c72fa2c034
@@ -1,14 +1,16 @@
1
- name: Test Ruby
1
+ name: Spec
2
2
 
3
3
  on:
4
4
  push:
5
+ branches:
6
+ - master
5
7
  pull_request:
6
8
 
7
9
  permissions:
8
10
  contents: read
9
11
 
10
12
  jobs:
11
- test:
13
+ spec:
12
14
  strategy:
13
15
  matrix:
14
16
  os: ['ubuntu-20.04']
@@ -26,5 +28,5 @@ jobs:
26
28
  with:
27
29
  ruby-version: ${{ matrix.ruby-version }}
28
30
  bundler-cache: true
29
- - name: Run tests
30
- run: bundle exec rake
31
+ - name: Run Specs
32
+ run: bundle exec rake spec
data/README.md CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  JSON Web Token and its family (JSON Web Signature, JSON Web Encryption and JSON Web Key) in Ruby
4
4
 
5
- [![Build Status](https://secure.travis-ci.org/nov/json-jwt.png)](http://travis-ci.org/nov/json-jwt)
6
-
7
5
  ## Installation
8
6
 
9
7
  ```
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.15.3.1
1
+ 1.16.0
data/json-jwt.gemspec CHANGED
@@ -16,7 +16,8 @@ Gem::Specification.new do |gem|
16
16
  gem.add_runtime_dependency 'activesupport', '>= 4.2'
17
17
  gem.add_runtime_dependency 'bindata'
18
18
  gem.add_runtime_dependency 'aes_key_wrap'
19
- gem.add_runtime_dependency 'httpclient'
19
+ gem.add_runtime_dependency 'faraday', '~> 2.0'
20
+ gem.add_runtime_dependency 'faraday-follow_redirects'
20
21
  gem.add_development_dependency 'rake'
21
22
  gem.add_development_dependency 'simplecov'
22
23
  gem.add_development_dependency 'webmock'
@@ -36,17 +36,13 @@ module JSON
36
36
  self.debugging = false
37
37
 
38
38
  def self.http_client
39
- _http_client_ = HTTPClient.new(
40
- agent_name: "JSON::JWK::Set::Fetcher (#{JSON::JWT::VERSION})"
41
- )
42
-
43
- # NOTE: httpclient gem seems stopped maintaining root certtificate set, use OS default.
44
- _http_client_.ssl_config.clear_cert_store
45
- _http_client_.ssl_config.cert_store.set_default_paths
46
-
47
- _http_client_.request_filter << Debugger::RequestFilter.new if debugging?
48
- http_config.try(:call, _http_client_)
49
- _http_client_
39
+ Faraday.new(headers: {user_agent: "JSON::JWK::Set::Fetcher #{VERSION}"}) do |faraday|
40
+ faraday.response :raise_error
41
+ faraday.response :follow_redirects
42
+ faraday.response :logger, JSON::JWK::Set::Fetcher.logger if debugging?
43
+ faraday.adapter Faraday.default_adapter
44
+ http_config.try(:call, faraday)
45
+ end
50
46
  end
51
47
  def self.http_config(&block)
52
48
  @@http_config ||= block
@@ -70,7 +66,7 @@ module JSON
70
66
  jwks = Set.new(
71
67
  JSON.parse(
72
68
  cache.fetch(cache_key, options) do
73
- http_client.get_content(jwks_uri)
69
+ http_client.get(jwks_uri).body
74
70
  end
75
71
  )
76
72
  )
data/lib/json/jwt.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'openssl'
2
2
  require 'base64'
3
- require 'httpclient'
3
+ require 'faraday'
4
+ require 'faraday/follow_redirects'
4
5
  require 'active_support'
5
6
  require 'active_support/core_ext'
6
7
  require 'json/jose'
@@ -108,11 +109,7 @@ module JSON
108
109
  when JWS::NUM_OF_SEGMENTS
109
110
  JWS.decode_compact_serialized jwt_string, key_or_secret, algorithms, allow_blank_payload
110
111
  when JWE::NUM_OF_SEGMENTS
111
- if allow_blank_payload
112
- raise InvalidFormat.new("JWE w/ blank payload is not supported.")
113
- else
114
- JWE.decode_compact_serialized jwt_string, key_or_secret, algorithms, encryption_methods
115
- end
112
+ JWE.decode_compact_serialized jwt_string, key_or_secret, algorithms, encryption_methods
116
113
  else
117
114
  raise InvalidFormat.new("Invalid JWT Format. JWT should include #{JWS::NUM_OF_SEGMENTS} or #{JWE::NUM_OF_SEGMENTS} segments.")
118
115
  end
@@ -141,5 +138,4 @@ require 'json/jwe'
141
138
  require 'json/jwk'
142
139
  require 'json/jwk/jwkizable'
143
140
  require 'json/jwk/set'
144
- require 'json/jwk/set/fetcher'
145
- require 'json/jwk/set/fetcher/debugger/request_filter'
141
+ require 'json/jwk/set/fetcher'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json-jwt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.3.1
4
+ version: 1.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov matake
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-06 00:00:00.000000000 Z
11
+ date: 2022-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -53,7 +53,21 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: httpclient
56
+ name: faraday
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: faraday-follow_redirects
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ">="
@@ -145,11 +159,10 @@ extensions: []
145
159
  extra_rdoc_files: []
146
160
  files:
147
161
  - ".github/FUNDING.yml"
148
- - ".github/workflows/test_ruby.yml"
162
+ - ".github/workflows/spec.yml"
149
163
  - ".gitignore"
150
164
  - ".gitmodules"
151
165
  - ".rspec"
152
- - ".travis.yml"
153
166
  - Gemfile
154
167
  - LICENSE
155
168
  - README.md
@@ -162,14 +175,13 @@ files:
162
175
  - lib/json/jwk/jwkizable.rb
163
176
  - lib/json/jwk/set.rb
164
177
  - lib/json/jwk/set/fetcher.rb
165
- - lib/json/jwk/set/fetcher/debugger/request_filter.rb
166
178
  - lib/json/jws.rb
167
179
  - lib/json/jwt.rb
168
180
  homepage: https://github.com/nov/json-jwt
169
181
  licenses:
170
182
  - MIT
171
183
  metadata: {}
172
- post_install_message:
184
+ post_install_message:
173
185
  rdoc_options: []
174
186
  require_paths:
175
187
  - lib
@@ -184,8 +196,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
196
  - !ruby/object:Gem::Version
185
197
  version: '0'
186
198
  requirements: []
187
- rubygems_version: 3.5.3
188
- signing_key:
199
+ rubygems_version: 3.1.6
200
+ signing_key:
189
201
  specification_version: 4
190
202
  summary: JSON Web Token and its family (JSON Web Signature, JSON Web Encryption and
191
203
  JSON Web Key) in Ruby
data/.travis.yml DELETED
@@ -1,12 +0,0 @@
1
- before_install:
2
- - gem install bundler
3
- - git submodule update --init --recursive
4
-
5
- rvm:
6
- - 2.6.10
7
- - 2.7.6
8
- - 3.0.4
9
- - 3.1.2
10
-
11
- jdk:
12
- - openjdk11
@@ -1,34 +0,0 @@
1
- module JSON
2
- class JWK
3
- class Set
4
- module Fetcher
5
- module Debugger
6
- class RequestFilter
7
- # Callback called in HTTPClient (before sending a request)
8
- # request:: HTTP::Message
9
- def filter_request(request)
10
- started = "======= [JSON::JWK::Set::Fetcher] HTTP REQUEST STARTED ======="
11
- log started, request.dump
12
- end
13
-
14
- # Callback called in HTTPClient (after received a response)
15
- # request:: HTTP::Message
16
- # response:: HTTP::Message
17
- def filter_response(request, response)
18
- finished = "======= [JSON::JWK::Set::Fetcher] HTTP REQUEST FINISHED ======="
19
- log '-' * 50, response.dump, finished
20
- end
21
-
22
- private
23
-
24
- def log(*outputs)
25
- outputs.each do |output|
26
- JSON::JWK::Set::Fetcher.logger.info output
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end