grape-jwt-authentication 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1a5a4a360cafde26473338f304b9ec569beb1c8ea0467e735ce08e489c33a86
4
- data.tar.gz: 6a19583fd428e220057b9fcf761ca839a51d1c5bf46d7fcdb639679ed84fb3fc
3
+ metadata.gz: 6b2b39a53b2482a6c6e9479cef2fe25de503034ef972db992d804858b04b5d66
4
+ data.tar.gz: 2e96eb6bf6b40cb8a1c7068a4146dae54673de021148ee36f42483366ed3973d
5
5
  SHA512:
6
- metadata.gz: 3ff00b93b0bb0ce09c1d85bd17dcf4aa3c71549ea12a1c77e0d1f99e90d219137d0a8727675e5969fdba3812d3a4439c4ec7d0d24e796b264d137e073fa7cb62
7
- data.tar.gz: f53b951cad8dc76b7838f70a60bd31838c2ab79101210fdb82d41de1f707559ad9b642656f4d54f8f8912673afe5a486ac1f7f73ac756cdb03c058ba1bb0f7b2
6
+ metadata.gz: f5c69c37ce78036b4fd706d3a665452e69d8695e7cba84261a7339c2c30ed02a5e7c0bbb13e48e375187f55533da948a91dbba7f74087e312fb684dabcbbc041
7
+ data.tar.gz: 3903190b5dcb51a634ef564d91ae9569f996f1b943dc7d460442cf7a1e2e4ab024db881a72c4a7f810f016486220a3f1f2246e0a7a243e8ab9005d111ecb420b
@@ -25,6 +25,7 @@ jobs:
25
25
  uses: hausgold/actions/ci@master
26
26
  with:
27
27
  clone_token: '${{ secrets.CLONE_TOKEN }}'
28
+ settings_secret_key: '${{ secrets.SETTINGS_SECRET_KEY }}'
28
29
  settings: '${{ github.repository }}'
29
30
  target: ci/gem-test
30
31
 
@@ -31,6 +31,7 @@ jobs:
31
31
  uses: hausgold/actions/ci@master
32
32
  with:
33
33
  clone_token: '${{ secrets.CLONE_TOKEN }}'
34
+ settings_secret_key: '${{ secrets.SETTINGS_SECRET_KEY }}'
34
35
  settings: '${{ github.repository }}'
35
36
  target: ci/gem-test
36
37
 
@@ -36,6 +36,7 @@ jobs:
36
36
  uses: hausgold/actions/ci@master
37
37
  with:
38
38
  clone_token: '${{ secrets.CLONE_TOKEN }}'
39
+ settings_secret_key: '${{ secrets.SETTINGS_SECRET_KEY }}'
39
40
  settings: '${{ github.repository }}'
40
41
  target: ci/gem-test
41
42
 
@@ -56,6 +57,7 @@ jobs:
56
57
  uses: hausgold/actions/ci@master
57
58
  with:
58
59
  clone_token: '${{ secrets.CLONE_TOKEN }}'
60
+ settings_secret_key: '${{ secrets.SETTINGS_SECRET_KEY }}'
59
61
  settings: '${{ github.repository }}'
60
62
  target: ci/noop
61
63
 
data/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  * TODO: Replace this bullet point with an actual description of a change.
4
4
 
5
+ ### 2.3.0
6
+
7
+ * Implemented case-insensitive header value checks for Grape 2.0.0+ compatibility, aligning with HTTP/2+ semantics (#11, #12)
8
+ * Moved the development dependencies from the gemspec to the Gemfile (#10)
9
+
5
10
  ### 2.2.0
6
11
 
7
12
  * Added support for Gem release automation
data/Gemfile CHANGED
@@ -6,3 +6,23 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
6
 
7
7
  # Specify your gem's dependencies in grape-jwt-authentication.gemspec
8
8
  gemspec
9
+
10
+ # Development dependencies
11
+ gem 'appraisal', '~> 2.4'
12
+ gem 'bundler', '~> 2.3'
13
+ gem 'countless', '~> 1.1'
14
+ gem 'guard-rspec', '~> 4.7'
15
+ gem 'rack', '~> 2.2'
16
+ gem 'rack-test', '~> 2.0'
17
+ gem 'railties', '>= 5.2'
18
+ gem 'rake', '~> 13.0'
19
+ gem 'rspec', '~> 3.12'
20
+ gem 'rubocop', '~> 1.28'
21
+ gem 'rubocop-rails', '~> 2.14'
22
+ gem 'rubocop-rspec', '~> 2.10'
23
+ gem 'simplecov', '>= 0.22'
24
+ gem 'timecop', '>= 0.9.6'
25
+ gem 'vcr', '~> 6.0'
26
+ gem 'webmock', '~> 3.18'
27
+ gem 'yard', '>= 0.9.28'
28
+ gem 'yard-activesupport-concern', '>= 0.0.1'
data/Makefile CHANGED
@@ -13,6 +13,7 @@ BASH_RUN_SHELL_FLAGS ?=
13
13
 
14
14
  # Directories
15
15
  VENDOR_DIR ?= vendor/bundle
16
+ GEMFILES_DIR ?= gemfiles
16
17
 
17
18
  # Host binaries
18
19
  AWK ?= awk
@@ -35,6 +36,11 @@ RSPEC ?= rspec
35
36
  RUBOCOP ?= rubocop
36
37
  YARD ?= yard
37
38
 
39
+ # Files
40
+ GEMFILES ?= $(subst _,-,$(patsubst $(GEMFILES_DIR)/%.gemfile,%,\
41
+ $(wildcard $(GEMFILES_DIR)/*.gemfile)))
42
+ TEST_GEMFILES := $(GEMFILES:%=test-%)
43
+
38
44
  # Define a generic shell run wrapper
39
45
  # $1 - The command to run
40
46
  ifeq ($(MAKE_ENV),docker)
@@ -2,6 +2,24 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
+ gem "appraisal", "~> 2.4"
6
+ gem "bundler", "~> 2.3"
7
+ gem "countless", "~> 1.1"
8
+ gem "guard-rspec", "~> 4.7"
9
+ gem "rack", "~> 2.2"
10
+ gem "rack-test", "~> 2.0"
11
+ gem "railties", ">= 5.2"
12
+ gem "rake", "~> 13.0"
13
+ gem "rspec", "~> 3.12"
14
+ gem "rubocop", "~> 1.28"
15
+ gem "rubocop-rails", "~> 2.14"
16
+ gem "rubocop-rspec", "~> 2.10"
17
+ gem "simplecov", ">= 0.22"
18
+ gem "timecop", ">= 0.9.6"
19
+ gem "vcr", "~> 6.0"
20
+ gem "webmock", "~> 3.18"
21
+ gem "yard", ">= 0.9.28"
22
+ gem "yard-activesupport-concern", ">= 0.0.1"
5
23
  gem "activejob", "~> 5.2.0"
6
24
  gem "activerecord", "~> 5.2.0"
7
25
  gem "activesupport", "~> 5.2.0"
@@ -34,28 +34,9 @@ Gem::Specification.new do |spec|
34
34
  spec.required_ruby_version = '>= 2.5'
35
35
 
36
36
  spec.add_runtime_dependency 'activesupport', '>= 5.2'
37
- spec.add_runtime_dependency 'grape', '~> 1.0'
37
+ spec.add_runtime_dependency 'grape', '>= 1.0', '< 3.0'
38
38
  spec.add_runtime_dependency 'httparty', '>= 0.21'
39
39
  spec.add_runtime_dependency 'jwt', '~> 2.6'
40
40
  spec.add_runtime_dependency 'keyless', '~> 1.1'
41
41
  spec.add_runtime_dependency 'recursive-open-struct', '~> 1.1'
42
-
43
- spec.add_development_dependency 'appraisal', '~> 2.4'
44
- spec.add_development_dependency 'bundler', '~> 2.3'
45
- spec.add_development_dependency 'countless', '~> 1.1'
46
- spec.add_development_dependency 'guard-rspec', '~> 4.7'
47
- spec.add_development_dependency 'rack', '~> 2.2'
48
- spec.add_development_dependency 'rack-test', '~> 2.0'
49
- spec.add_development_dependency 'railties', '>= 5.2'
50
- spec.add_development_dependency 'rake', '~> 13.0'
51
- spec.add_development_dependency 'rspec', '~> 3.12'
52
- spec.add_development_dependency 'rubocop', '~> 1.28'
53
- spec.add_development_dependency 'rubocop-rails', '~> 2.14'
54
- spec.add_development_dependency 'rubocop-rspec', '~> 2.10'
55
- spec.add_development_dependency 'simplecov', '>= 0.22'
56
- spec.add_development_dependency 'timecop', '>= 0.9.6'
57
- spec.add_development_dependency 'vcr', '~> 6.0'
58
- spec.add_development_dependency 'webmock', '~> 3.18'
59
- spec.add_development_dependency 'yard', '>= 0.9.28'
60
- spec.add_development_dependency 'yard-activesupport-concern', '>= 0.0.1'
61
42
  end
@@ -115,7 +115,10 @@ module Grape
115
115
  Grape::Middleware::Formatter.new(->(_) {}).call(env)
116
116
 
117
117
  # Parse the JWT token from the request headers.
118
- token = parse_token(env['HTTP_AUTHORIZATION'])
118
+ # Downcase the header keys to account for HTTP/2+
119
+ # semantics in Grape 2.0.0+
120
+ lowercase_env = env.transform_keys(&:downcase)
121
+ token = parse_token(lowercase_env['http_authorization'])
119
122
 
120
123
  # Inject the parsed token to the Rack environment.
121
124
  inject_token_into_env(env, token)
@@ -5,7 +5,7 @@ module Grape
5
5
  # The gem version details.
6
6
  module Authentication
7
7
  # The version of the +grape-jwt-authentication+ gem
8
- VERSION = '2.2.0'
8
+ VERSION = '2.3.0'
9
9
 
10
10
  class << self
11
11
  # Returns the version of gem as a string.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-jwt-authentication
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hermann Mayer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-24 00:00:00.000000000 Z
11
+ date: 2024-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -28,16 +28,22 @@ dependencies:
28
28
  name: grape
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.0'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '3.0'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
39
42
  - !ruby/object:Gem::Version
40
43
  version: '1.0'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: httparty
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -94,258 +100,6 @@ dependencies:
94
100
  - - "~>"
95
101
  - !ruby/object:Gem::Version
96
102
  version: '1.1'
97
- - !ruby/object:Gem::Dependency
98
- name: appraisal
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '2.4'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '2.4'
111
- - !ruby/object:Gem::Dependency
112
- name: bundler
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '2.3'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '2.3'
125
- - !ruby/object:Gem::Dependency
126
- name: countless
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '1.1'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '1.1'
139
- - !ruby/object:Gem::Dependency
140
- name: guard-rspec
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '4.7'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '4.7'
153
- - !ruby/object:Gem::Dependency
154
- name: rack
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '2.2'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '2.2'
167
- - !ruby/object:Gem::Dependency
168
- name: rack-test
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '2.0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: '2.0'
181
- - !ruby/object:Gem::Dependency
182
- name: railties
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '5.2'
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '5.2'
195
- - !ruby/object:Gem::Dependency
196
- name: rake
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
200
- - !ruby/object:Gem::Version
201
- version: '13.0'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: '13.0'
209
- - !ruby/object:Gem::Dependency
210
- name: rspec
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "~>"
214
- - !ruby/object:Gem::Version
215
- version: '3.12'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - "~>"
221
- - !ruby/object:Gem::Version
222
- version: '3.12'
223
- - !ruby/object:Gem::Dependency
224
- name: rubocop
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - "~>"
228
- - !ruby/object:Gem::Version
229
- version: '1.28'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - "~>"
235
- - !ruby/object:Gem::Version
236
- version: '1.28'
237
- - !ruby/object:Gem::Dependency
238
- name: rubocop-rails
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - "~>"
242
- - !ruby/object:Gem::Version
243
- version: '2.14'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - "~>"
249
- - !ruby/object:Gem::Version
250
- version: '2.14'
251
- - !ruby/object:Gem::Dependency
252
- name: rubocop-rspec
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - "~>"
256
- - !ruby/object:Gem::Version
257
- version: '2.10'
258
- type: :development
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - "~>"
263
- - !ruby/object:Gem::Version
264
- version: '2.10'
265
- - !ruby/object:Gem::Dependency
266
- name: simplecov
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - ">="
270
- - !ruby/object:Gem::Version
271
- version: '0.22'
272
- type: :development
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - ">="
277
- - !ruby/object:Gem::Version
278
- version: '0.22'
279
- - !ruby/object:Gem::Dependency
280
- name: timecop
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - ">="
284
- - !ruby/object:Gem::Version
285
- version: 0.9.6
286
- type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - ">="
291
- - !ruby/object:Gem::Version
292
- version: 0.9.6
293
- - !ruby/object:Gem::Dependency
294
- name: vcr
295
- requirement: !ruby/object:Gem::Requirement
296
- requirements:
297
- - - "~>"
298
- - !ruby/object:Gem::Version
299
- version: '6.0'
300
- type: :development
301
- prerelease: false
302
- version_requirements: !ruby/object:Gem::Requirement
303
- requirements:
304
- - - "~>"
305
- - !ruby/object:Gem::Version
306
- version: '6.0'
307
- - !ruby/object:Gem::Dependency
308
- name: webmock
309
- requirement: !ruby/object:Gem::Requirement
310
- requirements:
311
- - - "~>"
312
- - !ruby/object:Gem::Version
313
- version: '3.18'
314
- type: :development
315
- prerelease: false
316
- version_requirements: !ruby/object:Gem::Requirement
317
- requirements:
318
- - - "~>"
319
- - !ruby/object:Gem::Version
320
- version: '3.18'
321
- - !ruby/object:Gem::Dependency
322
- name: yard
323
- requirement: !ruby/object:Gem::Requirement
324
- requirements:
325
- - - ">="
326
- - !ruby/object:Gem::Version
327
- version: 0.9.28
328
- type: :development
329
- prerelease: false
330
- version_requirements: !ruby/object:Gem::Requirement
331
- requirements:
332
- - - ">="
333
- - !ruby/object:Gem::Version
334
- version: 0.9.28
335
- - !ruby/object:Gem::Dependency
336
- name: yard-activesupport-concern
337
- requirement: !ruby/object:Gem::Requirement
338
- requirements:
339
- - - ">="
340
- - !ruby/object:Gem::Version
341
- version: 0.0.1
342
- type: :development
343
- prerelease: false
344
- version_requirements: !ruby/object:Gem::Requirement
345
- requirements:
346
- - - ">="
347
- - !ruby/object:Gem::Version
348
- version: 0.0.1
349
103
  description: A reusable Grape JWT authentication concern
350
104
  email:
351
105
  - hermann.mayer92@gmail.com