keycloak_rack 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []