jwt 2.2.3 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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))
|