keycloak_rack 1.0.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.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +68 -0
  3. data/.gitignore +8 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +220 -0
  6. data/.ruby-version +1 -0
  7. data/.yardopts +7 -0
  8. data/Appraisals +16 -0
  9. data/CHANGELOG.md +10 -0
  10. data/CODE_OF_CONDUCT.md +132 -0
  11. data/Gemfile +5 -0
  12. data/LICENSE +19 -0
  13. data/README.md +288 -0
  14. data/Rakefile +10 -0
  15. data/bin/appraisal +29 -0
  16. data/bin/console +6 -0
  17. data/bin/fix-appraisals +14 -0
  18. data/bin/rake +29 -0
  19. data/bin/rspec +29 -0
  20. data/bin/rubocop +29 -0
  21. data/bin/yard +29 -0
  22. data/bin/yardoc +29 -0
  23. data/bin/yri +29 -0
  24. data/gemfiles/rack_only.gemfile +5 -0
  25. data/gemfiles/rack_only.gemfile.lock +204 -0
  26. data/gemfiles/rails_6_0.gemfile +9 -0
  27. data/gemfiles/rails_6_0.gemfile.lock +323 -0
  28. data/gemfiles/rails_6_1.gemfile +9 -0
  29. data/gemfiles/rails_6_1.gemfile.lock +326 -0
  30. data/keycloak_rack.gemspec +56 -0
  31. data/lib/keycloak_rack.rb +59 -0
  32. data/lib/keycloak_rack/authenticate.rb +115 -0
  33. data/lib/keycloak_rack/authorize_realm.rb +53 -0
  34. data/lib/keycloak_rack/authorize_resource.rb +54 -0
  35. data/lib/keycloak_rack/config.rb +84 -0
  36. data/lib/keycloak_rack/container.rb +53 -0
  37. data/lib/keycloak_rack/decoded_token.rb +191 -0
  38. data/lib/keycloak_rack/flexible_struct.rb +20 -0
  39. data/lib/keycloak_rack/http_client.rb +86 -0
  40. data/lib/keycloak_rack/import.rb +9 -0
  41. data/lib/keycloak_rack/key_fetcher.rb +20 -0
  42. data/lib/keycloak_rack/key_resolver.rb +64 -0
  43. data/lib/keycloak_rack/middleware.rb +132 -0
  44. data/lib/keycloak_rack/railtie.rb +14 -0
  45. data/lib/keycloak_rack/read_token.rb +40 -0
  46. data/lib/keycloak_rack/resource_role_map.rb +8 -0
  47. data/lib/keycloak_rack/role_map.rb +15 -0
  48. data/lib/keycloak_rack/session.rb +44 -0
  49. data/lib/keycloak_rack/skip_authentication.rb +44 -0
  50. data/lib/keycloak_rack/types.rb +42 -0
  51. data/lib/keycloak_rack/version.rb +6 -0
  52. data/lib/keycloak_rack/with_config.rb +15 -0
  53. data/spec/dummy/.ruby-version +1 -0
  54. data/spec/dummy/README.md +24 -0
  55. data/spec/dummy/Rakefile +8 -0
  56. data/spec/dummy/app/controllers/application_controller.rb +22 -0
  57. data/spec/dummy/app/controllers/test_controller.rb +9 -0
  58. data/spec/dummy/config.ru +8 -0
  59. data/spec/dummy/config/application.rb +52 -0
  60. data/spec/dummy/config/boot.rb +3 -0
  61. data/spec/dummy/config/environment.rb +7 -0
  62. data/spec/dummy/config/environments/development.rb +51 -0
  63. data/spec/dummy/config/environments/test.rb +51 -0
  64. data/spec/dummy/config/initializers/application_controller_renderer.rb +9 -0
  65. data/spec/dummy/config/initializers/backtrace_silencers.rb +10 -0
  66. data/spec/dummy/config/initializers/cors.rb +17 -0
  67. data/spec/dummy/config/initializers/filter_parameter_logging.rb +8 -0
  68. data/spec/dummy/config/initializers/inflections.rb +17 -0
  69. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  70. data/spec/dummy/config/initializers/wrap_parameters.rb +11 -0
  71. data/spec/dummy/config/keycloak.yml +12 -0
  72. data/spec/dummy/config/locales/en.yml +33 -0
  73. data/spec/dummy/config/routes.rb +5 -0
  74. data/spec/dummy/public/robots.txt +1 -0
  75. data/spec/dummy/tmp/development_secret.txt +1 -0
  76. data/spec/factories/decoded_token.rb +18 -0
  77. data/spec/factories/session.rb +21 -0
  78. data/spec/factories/token_payload.rb +40 -0
  79. data/spec/keycloak_rack/authorize_realm_spec.rb +15 -0
  80. data/spec/keycloak_rack/authorize_resource_spec.rb +19 -0
  81. data/spec/keycloak_rack/decoded_token_spec.rb +31 -0
  82. data/spec/keycloak_rack/key_resolver_spec.rb +95 -0
  83. data/spec/keycloak_rack/middleware_spec.rb +172 -0
  84. data/spec/keycloak_rack/rails_integration_spec.rb +43 -0
  85. data/spec/keycloak_rack/session_spec.rb +37 -0
  86. data/spec/keycloak_rack/skip_authentication_spec.rb +55 -0
  87. data/spec/spec_helper.rb +101 -0
  88. data/spec/support/contexts/mocked_keycloak.rb +63 -0
  89. data/spec/support/contexts/mocked_rack_application.rb +41 -0
  90. data/spec/support/test_key.pem +27 -0
  91. data/spec/support/token_helper.rb +76 -0
  92. metadata +616 -0
metadata ADDED
@@ -0,0 +1,616 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: keycloak_rack
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Alexa Grey
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-05-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '4.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '4.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: anyway_config
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.1.0
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: '3'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.1.0
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: '3'
47
+ - !ruby/object:Gem::Dependency
48
+ name: dry-auto_inject
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: dry-container
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: dry-effects
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 0.0.1
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 0.0.1
89
+ - !ruby/object:Gem::Dependency
90
+ name: dry-initializer
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: dry-matcher
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: dry-monads
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: 1.3.5
124
+ - - "<"
125
+ - !ruby/object:Gem::Version
126
+ version: '2'
127
+ type: :runtime
128
+ prerelease: false
129
+ version_requirements: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: 1.3.5
134
+ - - "<"
135
+ - !ruby/object:Gem::Version
136
+ version: '2'
137
+ - !ruby/object:Gem::Dependency
138
+ name: dry-struct
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '1'
144
+ - - "<"
145
+ - !ruby/object:Gem::Version
146
+ version: '2'
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '1'
154
+ - - "<"
155
+ - !ruby/object:Gem::Version
156
+ version: '2'
157
+ - !ruby/object:Gem::Dependency
158
+ name: dry-types
159
+ requirement: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: '1'
164
+ - - "<"
165
+ - !ruby/object:Gem::Version
166
+ version: '2'
167
+ type: :runtime
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '1'
174
+ - - "<"
175
+ - !ruby/object:Gem::Version
176
+ version: '2'
177
+ - !ruby/object:Gem::Dependency
178
+ name: dry-validation
179
+ requirement: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ type: :runtime
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ - !ruby/object:Gem::Dependency
192
+ name: jwt
193
+ requirement: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: 2.2.0
198
+ - - "<"
199
+ - !ruby/object:Gem::Version
200
+ version: '3'
201
+ type: :runtime
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: 2.2.0
208
+ - - "<"
209
+ - !ruby/object:Gem::Version
210
+ version: '3'
211
+ - !ruby/object:Gem::Dependency
212
+ name: rack
213
+ requirement: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: 2.0.0
218
+ - - "<"
219
+ - !ruby/object:Gem::Version
220
+ version: '3'
221
+ type: :runtime
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: 2.0.0
228
+ - - "<"
229
+ - !ruby/object:Gem::Version
230
+ version: '3'
231
+ - !ruby/object:Gem::Dependency
232
+ name: zeitwerk
233
+ requirement: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: 2.0.0
238
+ - - "<"
239
+ - !ruby/object:Gem::Version
240
+ version: '3'
241
+ type: :runtime
242
+ prerelease: false
243
+ version_requirements: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ version: 2.0.0
248
+ - - "<"
249
+ - !ruby/object:Gem::Version
250
+ version: '3'
251
+ - !ruby/object:Gem::Dependency
252
+ name: appraisal
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - '='
256
+ - !ruby/object:Gem::Version
257
+ version: 2.4.0
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - '='
263
+ - !ruby/object:Gem::Version
264
+ version: 2.4.0
265
+ - !ruby/object:Gem::Dependency
266
+ name: factory_bot
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: 6.1.0
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: 6.1.0
279
+ - !ruby/object:Gem::Dependency
280
+ name: faker
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - '='
284
+ - !ruby/object:Gem::Version
285
+ version: 2.17.0
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - '='
291
+ - !ruby/object:Gem::Version
292
+ version: 2.17.0
293
+ - !ruby/object:Gem::Dependency
294
+ name: pry
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - '='
298
+ - !ruby/object:Gem::Version
299
+ version: 0.14.1
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - '='
305
+ - !ruby/object:Gem::Version
306
+ version: 0.14.1
307
+ - !ruby/object:Gem::Dependency
308
+ name: rack-test
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - '='
312
+ - !ruby/object:Gem::Version
313
+ version: 1.1.0
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - '='
319
+ - !ruby/object:Gem::Version
320
+ version: 1.1.0
321
+ - !ruby/object:Gem::Dependency
322
+ name: rake
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '13'
328
+ - - "<"
329
+ - !ruby/object:Gem::Version
330
+ version: '14'
331
+ type: :development
332
+ prerelease: false
333
+ version_requirements: !ruby/object:Gem::Requirement
334
+ requirements:
335
+ - - ">="
336
+ - !ruby/object:Gem::Version
337
+ version: '13'
338
+ - - "<"
339
+ - !ruby/object:Gem::Version
340
+ version: '14'
341
+ - !ruby/object:Gem::Dependency
342
+ name: redcarpet
343
+ requirement: !ruby/object:Gem::Requirement
344
+ requirements:
345
+ - - ">="
346
+ - !ruby/object:Gem::Version
347
+ version: '0'
348
+ type: :development
349
+ prerelease: false
350
+ version_requirements: !ruby/object:Gem::Requirement
351
+ requirements:
352
+ - - ">="
353
+ - !ruby/object:Gem::Version
354
+ version: '0'
355
+ - !ruby/object:Gem::Dependency
356
+ name: rspec
357
+ requirement: !ruby/object:Gem::Requirement
358
+ requirements:
359
+ - - '='
360
+ - !ruby/object:Gem::Version
361
+ version: 3.10.0
362
+ type: :development
363
+ prerelease: false
364
+ version_requirements: !ruby/object:Gem::Requirement
365
+ requirements:
366
+ - - '='
367
+ - !ruby/object:Gem::Version
368
+ version: 3.10.0
369
+ - !ruby/object:Gem::Dependency
370
+ name: rspec-json_expectations
371
+ requirement: !ruby/object:Gem::Requirement
372
+ requirements:
373
+ - - '='
374
+ - !ruby/object:Gem::Version
375
+ version: 2.2.0
376
+ type: :development
377
+ prerelease: false
378
+ version_requirements: !ruby/object:Gem::Requirement
379
+ requirements:
380
+ - - '='
381
+ - !ruby/object:Gem::Version
382
+ version: 2.2.0
383
+ - !ruby/object:Gem::Dependency
384
+ name: rubocop
385
+ requirement: !ruby/object:Gem::Requirement
386
+ requirements:
387
+ - - '='
388
+ - !ruby/object:Gem::Version
389
+ version: 1.13.0
390
+ type: :development
391
+ prerelease: false
392
+ version_requirements: !ruby/object:Gem::Requirement
393
+ requirements:
394
+ - - '='
395
+ - !ruby/object:Gem::Version
396
+ version: 1.13.0
397
+ - !ruby/object:Gem::Dependency
398
+ name: rubocop-rake
399
+ requirement: !ruby/object:Gem::Requirement
400
+ requirements:
401
+ - - '='
402
+ - !ruby/object:Gem::Version
403
+ version: 0.5.1
404
+ type: :development
405
+ prerelease: false
406
+ version_requirements: !ruby/object:Gem::Requirement
407
+ requirements:
408
+ - - '='
409
+ - !ruby/object:Gem::Version
410
+ version: 0.5.1
411
+ - !ruby/object:Gem::Dependency
412
+ name: rubocop-rspec
413
+ requirement: !ruby/object:Gem::Requirement
414
+ requirements:
415
+ - - '='
416
+ - !ruby/object:Gem::Version
417
+ version: 2.3.0
418
+ type: :development
419
+ prerelease: false
420
+ version_requirements: !ruby/object:Gem::Requirement
421
+ requirements:
422
+ - - '='
423
+ - !ruby/object:Gem::Version
424
+ version: 2.3.0
425
+ - !ruby/object:Gem::Dependency
426
+ name: simplecov
427
+ requirement: !ruby/object:Gem::Requirement
428
+ requirements:
429
+ - - '='
430
+ - !ruby/object:Gem::Version
431
+ version: 0.21.2
432
+ type: :development
433
+ prerelease: false
434
+ version_requirements: !ruby/object:Gem::Requirement
435
+ requirements:
436
+ - - '='
437
+ - !ruby/object:Gem::Version
438
+ version: 0.21.2
439
+ - !ruby/object:Gem::Dependency
440
+ name: timecop
441
+ requirement: !ruby/object:Gem::Requirement
442
+ requirements:
443
+ - - '='
444
+ - !ruby/object:Gem::Version
445
+ version: 0.9.4
446
+ type: :development
447
+ prerelease: false
448
+ version_requirements: !ruby/object:Gem::Requirement
449
+ requirements:
450
+ - - '='
451
+ - !ruby/object:Gem::Version
452
+ version: 0.9.4
453
+ - !ruby/object:Gem::Dependency
454
+ name: webmock
455
+ requirement: !ruby/object:Gem::Requirement
456
+ requirements:
457
+ - - '='
458
+ - !ruby/object:Gem::Version
459
+ version: 3.12.2
460
+ type: :development
461
+ prerelease: false
462
+ version_requirements: !ruby/object:Gem::Requirement
463
+ requirements:
464
+ - - '='
465
+ - !ruby/object:Gem::Version
466
+ version: 3.12.2
467
+ - !ruby/object:Gem::Dependency
468
+ name: yard
469
+ requirement: !ruby/object:Gem::Requirement
470
+ requirements:
471
+ - - '='
472
+ - !ruby/object:Gem::Version
473
+ version: 0.9.26
474
+ type: :development
475
+ prerelease: false
476
+ version_requirements: !ruby/object:Gem::Requirement
477
+ requirements:
478
+ - - '='
479
+ - !ruby/object:Gem::Version
480
+ version: 0.9.26
481
+ - !ruby/object:Gem::Dependency
482
+ name: yard-junk
483
+ requirement: !ruby/object:Gem::Requirement
484
+ requirements:
485
+ - - ">="
486
+ - !ruby/object:Gem::Version
487
+ version: '0'
488
+ type: :development
489
+ prerelease: false
490
+ version_requirements: !ruby/object:Gem::Requirement
491
+ requirements:
492
+ - - ">="
493
+ - !ruby/object:Gem::Version
494
+ version: '0'
495
+ description: Rack middleware for validating authorization tokens from Keycloak
496
+ email:
497
+ - devel@mouse.vc
498
+ executables: []
499
+ extensions: []
500
+ extra_rdoc_files: []
501
+ files:
502
+ - ".github/workflows/main.yml"
503
+ - ".gitignore"
504
+ - ".rspec"
505
+ - ".rubocop.yml"
506
+ - ".ruby-version"
507
+ - ".yardopts"
508
+ - Appraisals
509
+ - CHANGELOG.md
510
+ - CODE_OF_CONDUCT.md
511
+ - Gemfile
512
+ - LICENSE
513
+ - README.md
514
+ - Rakefile
515
+ - bin/appraisal
516
+ - bin/console
517
+ - bin/fix-appraisals
518
+ - bin/rake
519
+ - bin/rspec
520
+ - bin/rubocop
521
+ - bin/yard
522
+ - bin/yardoc
523
+ - bin/yri
524
+ - gemfiles/rack_only.gemfile
525
+ - gemfiles/rack_only.gemfile.lock
526
+ - gemfiles/rails_6_0.gemfile
527
+ - gemfiles/rails_6_0.gemfile.lock
528
+ - gemfiles/rails_6_1.gemfile
529
+ - gemfiles/rails_6_1.gemfile.lock
530
+ - keycloak_rack.gemspec
531
+ - lib/keycloak_rack.rb
532
+ - lib/keycloak_rack/authenticate.rb
533
+ - lib/keycloak_rack/authorize_realm.rb
534
+ - lib/keycloak_rack/authorize_resource.rb
535
+ - lib/keycloak_rack/config.rb
536
+ - lib/keycloak_rack/container.rb
537
+ - lib/keycloak_rack/decoded_token.rb
538
+ - lib/keycloak_rack/flexible_struct.rb
539
+ - lib/keycloak_rack/http_client.rb
540
+ - lib/keycloak_rack/import.rb
541
+ - lib/keycloak_rack/key_fetcher.rb
542
+ - lib/keycloak_rack/key_resolver.rb
543
+ - lib/keycloak_rack/middleware.rb
544
+ - lib/keycloak_rack/railtie.rb
545
+ - lib/keycloak_rack/read_token.rb
546
+ - lib/keycloak_rack/resource_role_map.rb
547
+ - lib/keycloak_rack/role_map.rb
548
+ - lib/keycloak_rack/session.rb
549
+ - lib/keycloak_rack/skip_authentication.rb
550
+ - lib/keycloak_rack/types.rb
551
+ - lib/keycloak_rack/version.rb
552
+ - lib/keycloak_rack/with_config.rb
553
+ - spec/dummy/.ruby-version
554
+ - spec/dummy/README.md
555
+ - spec/dummy/Rakefile
556
+ - spec/dummy/app/controllers/application_controller.rb
557
+ - spec/dummy/app/controllers/test_controller.rb
558
+ - spec/dummy/config.ru
559
+ - spec/dummy/config/application.rb
560
+ - spec/dummy/config/boot.rb
561
+ - spec/dummy/config/environment.rb
562
+ - spec/dummy/config/environments/development.rb
563
+ - spec/dummy/config/environments/test.rb
564
+ - spec/dummy/config/initializers/application_controller_renderer.rb
565
+ - spec/dummy/config/initializers/backtrace_silencers.rb
566
+ - spec/dummy/config/initializers/cors.rb
567
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
568
+ - spec/dummy/config/initializers/inflections.rb
569
+ - spec/dummy/config/initializers/mime_types.rb
570
+ - spec/dummy/config/initializers/wrap_parameters.rb
571
+ - spec/dummy/config/keycloak.yml
572
+ - spec/dummy/config/locales/en.yml
573
+ - spec/dummy/config/routes.rb
574
+ - spec/dummy/public/robots.txt
575
+ - spec/dummy/tmp/development_secret.txt
576
+ - spec/factories/decoded_token.rb
577
+ - spec/factories/session.rb
578
+ - spec/factories/token_payload.rb
579
+ - spec/keycloak_rack/authorize_realm_spec.rb
580
+ - spec/keycloak_rack/authorize_resource_spec.rb
581
+ - spec/keycloak_rack/decoded_token_spec.rb
582
+ - spec/keycloak_rack/key_resolver_spec.rb
583
+ - spec/keycloak_rack/middleware_spec.rb
584
+ - spec/keycloak_rack/rails_integration_spec.rb
585
+ - spec/keycloak_rack/session_spec.rb
586
+ - spec/keycloak_rack/skip_authentication_spec.rb
587
+ - spec/spec_helper.rb
588
+ - spec/support/contexts/mocked_keycloak.rb
589
+ - spec/support/contexts/mocked_rack_application.rb
590
+ - spec/support/test_key.pem
591
+ - spec/support/token_helper.rb
592
+ homepage: https://github.com/scryptmouse/keycloak_rack
593
+ licenses:
594
+ - MIT
595
+ metadata:
596
+ yard.run: yri
597
+ post_install_message:
598
+ rdoc_options: []
599
+ require_paths:
600
+ - lib
601
+ required_ruby_version: !ruby/object:Gem::Requirement
602
+ requirements:
603
+ - - ">="
604
+ - !ruby/object:Gem::Version
605
+ version: 2.7.0
606
+ required_rubygems_version: !ruby/object:Gem::Requirement
607
+ requirements:
608
+ - - ">="
609
+ - !ruby/object:Gem::Version
610
+ version: '0'
611
+ requirements: []
612
+ rubygems_version: 3.2.16
613
+ signing_key:
614
+ specification_version: 4
615
+ summary: Rack middleware for validating authorization tokens from Keycloak
616
+ test_files: []