jwt 2.2.3 → 2.4.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/.codeclimate.yml +8 -0
- data/.github/workflows/coverage.yml +27 -0
- data/.github/workflows/test.yml +3 -11
- data/.gitignore +2 -0
- data/.rubocop.yml +12 -28
- data/.rubocop_todo.yml +9 -178
- data/AUTHORS +31 -13
- data/Appraisals +3 -0
- data/CHANGELOG.md +85 -2
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +3 -1
- data/README.md +92 -25
- data/Rakefile +2 -0
- data/lib/jwt/algos/ecdsa.rb +23 -5
- data/lib/jwt/algos/eddsa.rb +14 -4
- data/lib/jwt/algos/hmac.rb +2 -0
- data/lib/jwt/algos/none.rb +2 -0
- data/lib/jwt/algos/ps.rb +3 -3
- data/lib/jwt/algos/rsa.rb +4 -1
- data/lib/jwt/algos/unsupported.rb +2 -0
- data/lib/jwt/claims_validator.rb +3 -1
- data/lib/jwt/decode.rb +44 -8
- data/lib/jwt/default_options.rb +4 -1
- data/lib/jwt/encode.rb +6 -6
- data/lib/jwt/error.rb +2 -0
- data/lib/jwt/jwk/ec.rb +7 -7
- data/lib/jwt/jwk/hmac.rb +1 -1
- data/lib/jwt/jwk/key_base.rb +1 -0
- data/lib/jwt/jwk/rsa.rb +4 -3
- data/lib/jwt/jwk.rb +3 -2
- data/lib/jwt/security_utils.rb +2 -0
- data/lib/jwt/signature.rb +3 -7
- data/lib/jwt/verify.rb +18 -3
- data/lib/jwt/version.rb +2 -3
- data/lib/jwt/x5c_key_finder.rb +55 -0
- data/lib/jwt.rb +1 -1
- data/ruby-jwt.gemspec +8 -2
- metadata +11 -6
- data/lib/jwt/base64.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e90965d0b77b09f9b095bde7df353186e72838b843940a92f1207d36c1d14afd
|
4
|
+
data.tar.gz: ac4538d631a35219a21150952325a19ffe6f83ea37d7e32664725a06e659816c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0981dc5c4cc9722514eff7eb1636dcb88bd6e634967380187df8f3555a7405bf2e807c0a996543447006f6cd24516957a11eb2320dcd7dfc2b6ac81aec671b5
|
7
|
+
data.tar.gz: fadc7972eb2ff5377d517fc6a9cf1dd2315745813e60ae041a100754770829f640f5953bb8c6afe8be76d3340ac531aa92e12326484c12ffb721d09f1aa498b0
|
data/.codeclimate.yml
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
---
|
2
|
+
name: coverage
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- "master"
|
7
|
+
jobs:
|
8
|
+
coverage:
|
9
|
+
name: coverage
|
10
|
+
runs-on: ubuntu-20.04
|
11
|
+
env:
|
12
|
+
BUNDLE_GEMFILE: 'gemfiles/rbnacl.gemfile'
|
13
|
+
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
|
14
|
+
steps:
|
15
|
+
- uses: actions/checkout@v2
|
16
|
+
- name: Install libsodium
|
17
|
+
run: |
|
18
|
+
sudo apt-get update -q
|
19
|
+
sudo apt-get install libsodium-dev -y
|
20
|
+
- name: Set up Ruby
|
21
|
+
uses: ruby/setup-ruby@v1
|
22
|
+
with:
|
23
|
+
ruby-version: "2.7"
|
24
|
+
bundler-cache: true
|
25
|
+
- uses: paambaati/codeclimate-action@v3.0.0
|
26
|
+
with:
|
27
|
+
coverageCommand: bundle exec rspec
|
data/.github/workflows/test.yml
CHANGED
@@ -17,7 +17,7 @@ jobs:
|
|
17
17
|
- name: Set up Ruby
|
18
18
|
uses: ruby/setup-ruby@v1
|
19
19
|
with:
|
20
|
-
ruby-version: "2.
|
20
|
+
ruby-version: "2.7"
|
21
21
|
bundler-cache: true
|
22
22
|
- name: Run RuboCop
|
23
23
|
run: bundle exec rubocop
|
@@ -26,26 +26,18 @@ jobs:
|
|
26
26
|
fail-fast: false
|
27
27
|
matrix:
|
28
28
|
ruby:
|
29
|
-
- 2.3
|
30
|
-
- 2.4
|
31
29
|
- 2.5
|
32
30
|
- 2.6
|
33
31
|
- 2.7
|
34
|
-
- 3.0
|
32
|
+
- "3.0"
|
33
|
+
- 3.1
|
35
34
|
gemfile:
|
36
35
|
- gemfiles/standalone.gemfile
|
37
36
|
- gemfiles/openssl.gemfile
|
38
37
|
- gemfiles/rbnacl.gemfile
|
39
38
|
experimental: [false]
|
40
39
|
include:
|
41
|
-
- ruby: 2.1
|
42
|
-
gemfile: 'gemfiles/rbnacl.gemfile'
|
43
|
-
experimental: false
|
44
|
-
- ruby: 2.2
|
45
|
-
gemfile: 'gemfiles/rbnacl.gemfile'
|
46
|
-
experimental: false
|
47
40
|
- ruby: 2.7
|
48
|
-
coverage: "true"
|
49
41
|
gemfile: 'gemfiles/rbnacl.gemfile'
|
50
42
|
- ruby: "ruby-head"
|
51
43
|
experimental: true
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,24 +1,12 @@
|
|
1
1
|
inherit_from: .rubocop_todo.yml
|
2
2
|
|
3
3
|
AllCops:
|
4
|
-
TargetRubyVersion: 2.
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
EnforcedStyle: end
|
11
|
-
|
12
|
-
Style/AsciiComments:
|
13
|
-
Enabled: false
|
14
|
-
|
15
|
-
Layout/IndentHash:
|
16
|
-
Enabled: false
|
17
|
-
|
18
|
-
Style/CollectionMethods:
|
19
|
-
Enabled: true
|
20
|
-
PreferredMethods:
|
21
|
-
inject: 'inject'
|
4
|
+
TargetRubyVersion: 2.5
|
5
|
+
NewCops: enable
|
6
|
+
SuggestExtensions: false
|
7
|
+
Exclude:
|
8
|
+
- 'gemfiles/*.gemfile'
|
9
|
+
- 'vendor/**/*'
|
22
10
|
|
23
11
|
Style/Documentation:
|
24
12
|
Enabled: false
|
@@ -27,10 +15,6 @@ Style/BlockDelimiters:
|
|
27
15
|
Exclude:
|
28
16
|
- spec/**/*_spec.rb
|
29
17
|
|
30
|
-
Style/BracesAroundHashParameters:
|
31
|
-
Exclude:
|
32
|
-
- spec/**/*_spec.rb
|
33
|
-
|
34
18
|
Style/GuardClause:
|
35
19
|
Enabled: false
|
36
20
|
|
@@ -50,15 +34,15 @@ Style/SignalException:
|
|
50
34
|
Enabled: false
|
51
35
|
|
52
36
|
Metrics/AbcSize:
|
53
|
-
Max:
|
37
|
+
Max: 25
|
54
38
|
|
55
39
|
Metrics/ClassLength:
|
56
|
-
Max:
|
40
|
+
Max: 103
|
57
41
|
|
58
42
|
Metrics/ModuleLength:
|
59
43
|
Max: 100
|
60
44
|
|
61
|
-
|
45
|
+
Layout/LineLength:
|
62
46
|
Enabled: false
|
63
47
|
|
64
48
|
Metrics/BlockLength:
|
@@ -71,7 +55,7 @@ Metrics/MethodLength:
|
|
71
55
|
Style/SingleLineBlockParams:
|
72
56
|
Enabled: false
|
73
57
|
|
74
|
-
|
58
|
+
Layout/EndAlignment:
|
75
59
|
EnforcedStyleAlignWith: variable
|
76
60
|
|
77
61
|
Style/FormatString:
|
@@ -89,9 +73,9 @@ Style/WordArray:
|
|
89
73
|
Style/RedundantSelf:
|
90
74
|
Enabled: false
|
91
75
|
|
92
|
-
Layout/
|
76
|
+
Layout/HashAlignment:
|
93
77
|
Enabled: true
|
94
78
|
EnforcedLastArgumentHashStyle: always_ignore
|
95
79
|
|
96
80
|
Style/TrivialAccessors:
|
97
|
-
AllowPredicates: true
|
81
|
+
AllowPredicates: true
|
data/.rubocop_todo.yml
CHANGED
@@ -1,191 +1,22 @@
|
|
1
1
|
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
2
|
+
# `rubocop --auto-gen-config --exclude-limit 1000000`
|
3
|
+
# on 2021-12-27 06:53:55 UTC using RuboCop version 1.23.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
9
|
+
# Offense count: 1
|
10
10
|
# Cop supports --auto-correct.
|
11
|
-
# Configuration parameters: Include
|
11
|
+
# Configuration parameters: Include.
|
12
12
|
# Include: **/*.gemspec
|
13
|
-
Gemspec/
|
13
|
+
Gemspec/RequireMFA:
|
14
14
|
Exclude:
|
15
15
|
- 'ruby-jwt.gemspec'
|
16
16
|
|
17
17
|
# Offense count: 1
|
18
|
-
#
|
19
|
-
|
20
|
-
|
21
|
-
- 'spec/integration/readme_examples_spec.rb'
|
22
|
-
|
23
|
-
# Offense count: 1
|
24
|
-
# Cop supports --auto-correct.
|
25
|
-
# Configuration parameters: EnforcedStyle.
|
26
|
-
# SupportedStyles: empty_lines, no_empty_lines
|
27
|
-
Layout/EmptyLinesAroundBlockBody:
|
28
|
-
Exclude:
|
29
|
-
- 'spec/jwt_spec.rb'
|
30
|
-
|
31
|
-
# Offense count: 1
|
32
|
-
# Cop supports --auto-correct.
|
33
|
-
# Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
|
34
|
-
Layout/ExtraSpacing:
|
35
|
-
Exclude:
|
36
|
-
- 'spec/jwk_spec.rb'
|
37
|
-
|
38
|
-
# Offense count: 2
|
39
|
-
# Cop supports --auto-correct.
|
40
|
-
# Configuration parameters: EnforcedStyle.
|
41
|
-
# SupportedStyles: normal, rails
|
42
|
-
Layout/IndentationConsistency:
|
43
|
-
Exclude:
|
44
|
-
- 'spec/jwt_spec.rb'
|
45
|
-
|
46
|
-
# Offense count: 1
|
47
|
-
# Cop supports --auto-correct.
|
48
|
-
# Configuration parameters: Width, IgnoredPatterns.
|
49
|
-
Layout/IndentationWidth:
|
50
|
-
Exclude:
|
51
|
-
- 'spec/jwt_spec.rb'
|
52
|
-
|
53
|
-
# Offense count: 3
|
54
|
-
# Cop supports --auto-correct.
|
55
|
-
Layout/SpaceAfterComma:
|
56
|
-
Exclude:
|
57
|
-
- 'spec/jwt_spec.rb'
|
58
|
-
|
59
|
-
# Offense count: 2
|
60
|
-
# Cop supports --auto-correct.
|
61
|
-
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
|
62
|
-
# SupportedStyles: space, no_space
|
63
|
-
# SupportedStylesForEmptyBraces: space, no_space
|
64
|
-
Layout/SpaceBeforeBlockBraces:
|
65
|
-
Exclude:
|
66
|
-
- 'spec/jwk/ec_spec.rb'
|
67
|
-
- 'spec/jwt/verify_spec.rb'
|
68
|
-
|
69
|
-
# Offense count: 1
|
70
|
-
# Cop supports --auto-correct.
|
71
|
-
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
|
72
|
-
# SupportedStyles: space, no_space
|
73
|
-
# SupportedStylesForEmptyBraces: space, no_space
|
74
|
-
Layout/SpaceInsideBlockBraces:
|
75
|
-
Exclude:
|
76
|
-
- 'spec/jwt/verify_spec.rb'
|
77
|
-
|
78
|
-
# Offense count: 1
|
79
|
-
# Cop supports --auto-correct.
|
80
|
-
# Configuration parameters: EnforcedStyle.
|
81
|
-
# SupportedStyles: final_newline, final_blank_line
|
82
|
-
Layout/TrailingBlankLines:
|
83
|
-
Exclude:
|
84
|
-
- 'bin/console.rb'
|
85
|
-
|
86
|
-
# Offense count: 3
|
87
|
-
# Cop supports --auto-correct.
|
88
|
-
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
|
89
|
-
Lint/UnusedBlockArgument:
|
90
|
-
Exclude:
|
91
|
-
- 'spec/jwk/decode_with_jwk_spec.rb'
|
92
|
-
- 'spec/jwk/ec_spec.rb'
|
93
|
-
- 'spec/jwt/verify_spec.rb'
|
94
|
-
|
95
|
-
# Offense count: 2
|
96
|
-
Metrics/CyclomaticComplexity:
|
97
|
-
Max: 7
|
98
|
-
|
99
|
-
# Offense count: 1
|
100
|
-
Metrics/PerceivedComplexity:
|
101
|
-
Max: 8
|
102
|
-
|
103
|
-
# Offense count: 1
|
104
|
-
# Cop supports --auto-correct.
|
105
|
-
# Configuration parameters: MaxKeyValuePairs.
|
106
|
-
Performance/RedundantMerge:
|
18
|
+
# Configuration parameters: AllowedMethods.
|
19
|
+
# AllowedMethods: respond_to_missing?
|
20
|
+
Style/OptionalBooleanParameter:
|
107
21
|
Exclude:
|
108
|
-
- '
|
109
|
-
|
110
|
-
# Offense count: 1
|
111
|
-
# Cop supports --auto-correct.
|
112
|
-
Style/Encoding:
|
113
|
-
Exclude:
|
114
|
-
- 'lib/jwt/version.rb'
|
115
|
-
|
116
|
-
# Offense count: 1
|
117
|
-
# Cop supports --auto-correct.
|
118
|
-
# Configuration parameters: InverseMethods, InverseBlocks.
|
119
|
-
Style/InverseMethods:
|
120
|
-
Exclude:
|
121
|
-
- 'spec/jwk/ec_spec.rb'
|
122
|
-
|
123
|
-
# Offense count: 2
|
124
|
-
# Cop supports --auto-correct.
|
125
|
-
Style/MethodCallWithoutArgsParentheses:
|
126
|
-
Exclude:
|
127
|
-
- 'spec/jwt_spec.rb'
|
128
|
-
|
129
|
-
# Offense count: 2
|
130
|
-
# Configuration parameters: EnforcedStyle.
|
131
|
-
# SupportedStyles: module_function, extend_self
|
132
|
-
Style/ModuleFunction:
|
133
|
-
Exclude:
|
134
|
-
- 'lib/jwt/algos.rb'
|
135
|
-
- 'lib/jwt/signature.rb'
|
136
|
-
|
137
|
-
# Offense count: 1
|
138
|
-
# Cop supports --auto-correct.
|
139
|
-
Style/MultilineIfModifier:
|
140
|
-
Exclude:
|
141
|
-
- 'spec/integration/readme_examples_spec.rb'
|
142
|
-
|
143
|
-
# Offense count: 1
|
144
|
-
# Cop supports --auto-correct.
|
145
|
-
Style/MutableConstant:
|
146
|
-
Exclude:
|
147
|
-
- 'lib/jwt/version.rb'
|
148
|
-
|
149
|
-
# Offense count: 1
|
150
|
-
# Cop supports --auto-correct.
|
151
|
-
# Configuration parameters: Strict.
|
152
|
-
Style/NumericLiterals:
|
153
|
-
MinDigits: 6
|
154
|
-
|
155
|
-
# Offense count: 1
|
156
|
-
# Cop supports --auto-correct.
|
157
|
-
Style/ParallelAssignment:
|
158
|
-
Exclude:
|
159
|
-
- 'spec/integration/readme_examples_spec.rb'
|
160
|
-
|
161
|
-
# Offense count: 11
|
162
|
-
# Cop supports --auto-correct.
|
163
|
-
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
|
164
|
-
# SupportedStyles: single_quotes, double_quotes
|
165
|
-
Style/StringLiterals:
|
166
|
-
Exclude:
|
167
|
-
- 'bin/console.rb'
|
168
|
-
- 'spec/jwk/ec_spec.rb'
|
169
|
-
- 'spec/jwk/rsa_spec.rb'
|
170
|
-
- 'spec/jwk_spec.rb'
|
171
|
-
- 'spec/jwt_spec.rb'
|
172
|
-
|
173
|
-
# Offense count: 1
|
174
|
-
# Cop supports --auto-correct.
|
175
|
-
# Configuration parameters: EnforcedStyleForMultiline.
|
176
|
-
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
|
177
|
-
Style/TrailingCommaInArguments:
|
178
|
-
Exclude:
|
179
|
-
- 'spec/jwt_spec.rb'
|
180
|
-
|
181
|
-
# Offense count: 1
|
182
|
-
# Cop supports --auto-correct.
|
183
|
-
Style/UnlessElse:
|
184
|
-
Exclude:
|
185
|
-
- 'spec/jwt_spec.rb'
|
186
|
-
|
187
|
-
# Offense count: 162
|
188
|
-
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
189
|
-
# URISchemes: http, https
|
190
|
-
Metrics/LineLength:
|
191
|
-
Max: 420
|
22
|
+
- 'lib/jwt.rb'
|
data/AUTHORS
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Tim Rudat
|
2
|
-
Jeff Lindsay
|
3
2
|
Joakim Antman
|
3
|
+
Jeff Lindsay
|
4
4
|
A.B
|
5
5
|
shields
|
6
6
|
Bob Aman
|
@@ -8,44 +8,53 @@ Emilio Cristalli
|
|
8
8
|
Egon Zemmer
|
9
9
|
Zane Shannon
|
10
10
|
Nikita Shatov
|
11
|
-
Oliver
|
12
11
|
Paul Battley
|
12
|
+
Oliver
|
13
13
|
blackanger
|
14
|
-
Adam Michael
|
15
14
|
Ville Lautanala
|
16
15
|
Tyler Pickett
|
17
16
|
James Stonehill
|
18
|
-
|
17
|
+
Adam Michael
|
19
18
|
Martin Emde
|
20
|
-
|
19
|
+
Saverio Trioni
|
20
|
+
Peter M. Goldstein
|
21
21
|
Korstiaan de Ridder
|
22
|
+
Richard Larocque
|
23
|
+
Andrew Davis
|
24
|
+
Yason Khaburzaniya
|
22
25
|
Klaas Jan Wierenga
|
23
|
-
|
26
|
+
Nick Hammond
|
27
|
+
Bart de Water
|
24
28
|
Steve Sloan
|
25
|
-
|
29
|
+
Antonis Berkakis
|
26
30
|
Bill Mill
|
31
|
+
Kevin Olbrich
|
32
|
+
Simon Fish
|
27
33
|
jb08
|
28
34
|
lukas
|
29
35
|
Rodrigo López Dato
|
30
36
|
ojab
|
37
|
+
Ritikesh
|
31
38
|
sawyerzhang
|
32
|
-
|
39
|
+
Larry Lv
|
33
40
|
smudge
|
34
41
|
wohlgejm
|
35
42
|
Tom Wey
|
36
43
|
yann ARMAND
|
37
44
|
Brian Flethcer
|
45
|
+
Jurriaan Pruis
|
38
46
|
Erik Michaels-Ober
|
47
|
+
Matthew Simpson
|
39
48
|
Steven Davidovitz
|
40
|
-
Jurriaan Pruis
|
41
|
-
Larry Lv
|
42
|
-
Mingan
|
43
|
-
Mitch Birti
|
44
49
|
Nicolas Leger
|
50
|
+
Pierre Michard
|
51
|
+
RahulBajaj
|
45
52
|
Rob Wygand
|
46
53
|
Ryan Brushett
|
47
54
|
Ryan McIlmoyl
|
48
55
|
Ryan Metzler
|
56
|
+
Severin Schoepke
|
57
|
+
Shaun Guth
|
49
58
|
Steve Teti
|
50
59
|
T.J. Schuck
|
51
60
|
Taiki Sugawara
|
@@ -58,10 +67,12 @@ Yuji Yaginuma
|
|
58
67
|
Zuzanna Stolińska
|
59
68
|
aarongray
|
60
69
|
danielgrippi
|
70
|
+
fusagiko/takayamaki
|
71
|
+
mai fujii
|
61
72
|
nycvotes-dev
|
62
73
|
revodoge
|
63
74
|
rono23
|
64
|
-
|
75
|
+
antonmorant
|
65
76
|
Adam Greene
|
66
77
|
Alexander Boyd
|
67
78
|
Alexandr Kostrikov
|
@@ -71,9 +82,11 @@ Arnaud Mesureur
|
|
71
82
|
Artsiom Kuts
|
72
83
|
Austin Kabiru
|
73
84
|
B
|
85
|
+
Bouke van der Bijl
|
74
86
|
Brandon Keepers
|
75
87
|
Dan Leyden
|
76
88
|
Dave Grijalva
|
89
|
+
Dmitry Pashkevich
|
77
90
|
Dorian Marié
|
78
91
|
Ernie Miller
|
79
92
|
Evgeni Golov
|
@@ -90,12 +103,17 @@ JotaSe
|
|
90
103
|
Juanito Fatas
|
91
104
|
Julio Lopez
|
92
105
|
Katelyn Kasperowicz
|
106
|
+
Leonardo Saraiva
|
93
107
|
Lowell Kirsh
|
108
|
+
Loïc Lengrand
|
94
109
|
Lucas Mazza
|
95
110
|
Makoto Chiba
|
96
111
|
Manuel Bustillo
|
97
112
|
Marco Adkins
|
113
|
+
Meredith Leu
|
98
114
|
Micah Gates
|
99
115
|
Michał Begejowicz
|
100
116
|
Mike Eirih
|
101
117
|
Mike Pastore
|
118
|
+
Mingan
|
119
|
+
Mitch Birti
|
data/Appraisals
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,90 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [
|
3
|
+
## [v2.4.0](https://github.com/jwt/ruby-jwt/tree/v2.4.0) (2022-06-06)
|
4
4
|
|
5
|
-
[Full Changelog](https://github.com/jwt/ruby-jwt/compare/v2.
|
5
|
+
[Full Changelog](https://github.com/jwt/ruby-jwt/compare/v2.3.0...v2.4.0)
|
6
|
+
|
7
|
+
**Implemented enhancements:**
|
8
|
+
|
9
|
+
- Ensure presence of claims [\#244](https://github.com/jwt/ruby-jwt/issues/244)
|
10
|
+
- Support verifying signature signed using x5c header [\#59](https://github.com/jwt/ruby-jwt/issues/59)
|
11
|
+
- Add x5c header key finder [\#338](https://github.com/jwt/ruby-jwt/pull/338) ([bdewater](https://github.com/bdewater))
|
12
|
+
|
13
|
+
**Security fixes:**
|
14
|
+
|
15
|
+
- Importing JWK then exporting results in different `kid` [\#313](https://github.com/jwt/ruby-jwt/issues/313)
|
16
|
+
|
17
|
+
**Closed issues:**
|
18
|
+
|
19
|
+
- Is there a way to decode a ES256 encoded JWT with a root certificate but without a public key or a private key? [\#471](https://github.com/jwt/ruby-jwt/issues/471)
|
20
|
+
- Encode output with extra quote [\#469](https://github.com/jwt/ruby-jwt/issues/469)
|
21
|
+
- Please release new gem version [\#444](https://github.com/jwt/ruby-jwt/issues/444)
|
22
|
+
- HS512 signature verification fails for valid tokens [\#438](https://github.com/jwt/ruby-jwt/issues/438)
|
23
|
+
- ArgumentError: invalid base64 while calling JWT::JWK.import\(hash\) [\#361](https://github.com/jwt/ruby-jwt/issues/361)
|
24
|
+
- NoMethodError (undefined method `encode' for JsonWebToken:Module\) [\#329](https://github.com/jwt/ruby-jwt/issues/329)
|
25
|
+
|
26
|
+
**Merged pull requests:**
|
27
|
+
|
28
|
+
- Fix RuboCop TODOs [\#476](https://github.com/jwt/ruby-jwt/pull/476) ([typhoon2099](https://github.com/typhoon2099))
|
29
|
+
- Update note about supported JWK types [\#475](https://github.com/jwt/ruby-jwt/pull/475) ([dpashkevich](https://github.com/dpashkevich))
|
30
|
+
- Make specific algorithms in README linkable [\#472](https://github.com/jwt/ruby-jwt/pull/472) ([milieu](https://github.com/milieu))
|
31
|
+
- Add tests for keyfinder logic to ensure the argument count does not matter [\#467](https://github.com/jwt/ruby-jwt/pull/467) ([anakinj](https://github.com/anakinj))
|
32
|
+
- More tests for none token [\#466](https://github.com/jwt/ruby-jwt/pull/466) ([anakinj](https://github.com/anakinj))
|
33
|
+
- Improve non algorithm tests [\#465](https://github.com/jwt/ruby-jwt/pull/465) ([anakinj](https://github.com/anakinj))
|
34
|
+
- Bring back Ruby 2.5 support and CodeClimate coverage reports [\#464](https://github.com/jwt/ruby-jwt/pull/464) ([anakinj](https://github.com/anakinj))
|
35
|
+
- Fix a little RuboCop issue [\#462](https://github.com/jwt/ruby-jwt/pull/462) ([anakinj](https://github.com/anakinj))
|
36
|
+
- Fixes with latest RuboCop [\#459](https://github.com/jwt/ruby-jwt/pull/459) ([anakinj](https://github.com/anakinj))
|
37
|
+
- Removed bundler-audit from codeclimate config [\#458](https://github.com/jwt/ruby-jwt/pull/458) ([anakinj](https://github.com/anakinj))
|
38
|
+
- Updated rubocop to 1.23.0 [\#457](https://github.com/jwt/ruby-jwt/pull/457) ([anakinj](https://github.com/anakinj))
|
39
|
+
- Add Ruby 3.1 to test matrix [\#456](https://github.com/jwt/ruby-jwt/pull/456) ([anakinj](https://github.com/anakinj))
|
40
|
+
- Use Ruby built-in url-safe base64 methods [\#454](https://github.com/jwt/ruby-jwt/pull/454) ([bdewater](https://github.com/bdewater))
|
41
|
+
- Stop running tests on EOL rubies. [\#453](https://github.com/jwt/ruby-jwt/pull/453) ([anakinj](https://github.com/anakinj))
|
42
|
+
- Fix openssl gem version check to support versons greater than 3 [\#452](https://github.com/jwt/ruby-jwt/pull/452) ([anakinj](https://github.com/anakinj))
|
43
|
+
- Readme: Typo fix re MissingRequiredClaim [\#451](https://github.com/jwt/ruby-jwt/pull/451) ([antonmorant](https://github.com/antonmorant))
|
44
|
+
- Fix for exception after mergeing \#385 [\#450](https://github.com/jwt/ruby-jwt/pull/450) ([anakinj](https://github.com/anakinj))
|
45
|
+
- Create CODE\_OF\_CONDUCT.md [\#449](https://github.com/jwt/ruby-jwt/pull/449) ([loic5](https://github.com/loic5))
|
46
|
+
- Allow regular expressions and procs to verify issuer [\#437](https://github.com/jwt/ruby-jwt/pull/437) ([rewritten](https://github.com/rewritten))
|
47
|
+
- Add Support to be able to verify from multiple keys [\#425](https://github.com/jwt/ruby-jwt/pull/425) ([ritikesh](https://github.com/ritikesh))
|
48
|
+
- Define the secp256r1 curve [\#385](https://github.com/jwt/ruby-jwt/pull/385) ([anakinj](https://github.com/anakinj))
|
49
|
+
|
50
|
+
## [v2.3.0](https://github.com/jwt/ruby-jwt/tree/v2.3.0) (2021-10-03)
|
51
|
+
|
52
|
+
[Full Changelog](https://github.com/jwt/ruby-jwt/compare/v2.2.3...v2.3.0)
|
53
|
+
|
54
|
+
**Closed issues:**
|
55
|
+
|
56
|
+
- \[SECURITY\] Algorithm Confusion Through kid Header [\#440](https://github.com/jwt/ruby-jwt/issues/440)
|
57
|
+
- JWT to memory [\#436](https://github.com/jwt/ruby-jwt/issues/436)
|
58
|
+
- ArgumentError: wrong number of arguments \(given 2, expected 1\) [\#429](https://github.com/jwt/ruby-jwt/issues/429)
|
59
|
+
- HMAC section of README outdated [\#421](https://github.com/jwt/ruby-jwt/issues/421)
|
60
|
+
- NoMethodError: undefined method `zero?' for nil:NilClass if JWT has no 'alg' field [\#410](https://github.com/jwt/ruby-jwt/issues/410)
|
61
|
+
- Release new version [\#409](https://github.com/jwt/ruby-jwt/issues/409)
|
62
|
+
- NameError: uninitialized constant JWT::JWK [\#403](https://github.com/jwt/ruby-jwt/issues/403)
|
63
|
+
|
64
|
+
**Merged pull requests:**
|
65
|
+
|
66
|
+
- Release 2.3.0 [\#448](https://github.com/jwt/ruby-jwt/pull/448) ([excpt](https://github.com/excpt))
|
67
|
+
- Fix Style/MultilineIfModifier issues [\#447](https://github.com/jwt/ruby-jwt/pull/447) ([anakinj](https://github.com/anakinj))
|
68
|
+
- feat\(EdDSA\): Accept EdDSA as algorithm header [\#446](https://github.com/jwt/ruby-jwt/pull/446) ([Pierre-Michard](https://github.com/Pierre-Michard))
|
69
|
+
- Pass kid param through JWT::JWK.create\_from [\#445](https://github.com/jwt/ruby-jwt/pull/445) ([shaun-guth-allscripts](https://github.com/shaun-guth-allscripts))
|
70
|
+
- fix document about passing JWKs as a simple Hash [\#443](https://github.com/jwt/ruby-jwt/pull/443) ([takayamaki](https://github.com/takayamaki))
|
71
|
+
- Tests for mixing JWK keys with mismatching algorithms [\#441](https://github.com/jwt/ruby-jwt/pull/441) ([anakinj](https://github.com/anakinj))
|
72
|
+
- verify\_claims test shouldnt be within the verify\_sub test [\#431](https://github.com/jwt/ruby-jwt/pull/431) ([andyjdavis](https://github.com/andyjdavis))
|
73
|
+
- Allow decode options to specify required claims [\#430](https://github.com/jwt/ruby-jwt/pull/430) ([andyjdavis](https://github.com/andyjdavis))
|
74
|
+
- Fix OpenSSL::PKey::EC public\_key handing in tests [\#427](https://github.com/jwt/ruby-jwt/pull/427) ([anakinj](https://github.com/anakinj))
|
75
|
+
- Add documentation for find\_key [\#426](https://github.com/jwt/ruby-jwt/pull/426) ([ritikesh](https://github.com/ritikesh))
|
76
|
+
- Give ruby 3.0 as a string to avoid number formatting issues [\#424](https://github.com/jwt/ruby-jwt/pull/424) ([anakinj](https://github.com/anakinj))
|
77
|
+
- Tests for iat verification behaviour [\#423](https://github.com/jwt/ruby-jwt/pull/423) ([anakinj](https://github.com/anakinj))
|
78
|
+
- Remove HMAC with nil secret from documentation [\#422](https://github.com/jwt/ruby-jwt/pull/422) ([boardfish](https://github.com/boardfish))
|
79
|
+
- Update broken link in README [\#420](https://github.com/jwt/ruby-jwt/pull/420) ([severin](https://github.com/severin))
|
80
|
+
- Add metadata for RubyGems [\#418](https://github.com/jwt/ruby-jwt/pull/418) ([nickhammond](https://github.com/nickhammond))
|
81
|
+
- Fixed a typo about class name [\#417](https://github.com/jwt/ruby-jwt/pull/417) ([mai-f](https://github.com/mai-f))
|
82
|
+
- Fix references for v2.2.3 on CHANGELOG [\#416](https://github.com/jwt/ruby-jwt/pull/416) ([vyper](https://github.com/vyper))
|
83
|
+
- Raise IncorrectAlgorithm if token has no alg header [\#411](https://github.com/jwt/ruby-jwt/pull/411) ([bouk](https://github.com/bouk))
|
84
|
+
|
85
|
+
## [v2.2.3](https://github.com/jwt/ruby-jwt/tree/v2.2.3) (2021-04-19)
|
86
|
+
|
87
|
+
[Full Changelog](https://github.com/jwt/ruby-jwt/compare/v2.2.2...v2.2.3)
|
6
88
|
|
7
89
|
**Implemented enhancements:**
|
8
90
|
|
@@ -31,6 +113,7 @@
|
|
31
113
|
|
32
114
|
**Merged pull requests:**
|
33
115
|
|
116
|
+
- Prepare 2.2.3 release [\#415](https://github.com/jwt/ruby-jwt/pull/415) ([excpt](https://github.com/excpt))
|
34
117
|
- Remove codeclimate code coverage dev dependency [\#414](https://github.com/jwt/ruby-jwt/pull/414) ([excpt](https://github.com/excpt))
|
35
118
|
- Add forwardable dependency [\#408](https://github.com/jwt/ruby-jwt/pull/408) ([anakinj](https://github.com/anakinj))
|
36
119
|
- Ignore casing of algorithm [\#405](https://github.com/jwt/ruby-jwt/pull/405) ([johnnyshields](https://github.com/johnnyshields))
|