keycloak-api-rails 1.0.1 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 72a9cf5907ae0256e7acfbf9bd9e453dcbcaeae5fd4c5ce146780e3ef5ec2644
4
- data.tar.gz: ac22d1edfbf8d1701ac82a213f3052ca32976dd766841111066600910497d58d
3
+ metadata.gz: cb67f66191b532371ed77f5677c4959a3d01cd8d4fa270dd984a119d796077b0
4
+ data.tar.gz: 64f29e21b50fb2d6f46d2a136c299aa9864c78aea977c9e4f7dc6a4927a28dff
5
5
  SHA512:
6
- metadata.gz: e73d57fcaf904c534048ff6d6e611913298b173be1e47b01b31c7c6cb351f2e8d74b00a57027ce03063b63391f2200c9c8d866a18a7cb632856acb77bdb5d494
7
- data.tar.gz: be4136364d974a0ebcba62a31f526341cdef89f0f87f991dde409cb40a36303f0ae4a781599929caf830cf89a58ce01b20e2c7209ef7613c9e0d465b831bbb17
6
+ metadata.gz: 2db5967b4c4b7e678763d015dd05567103cafb42bce12f0018c241df45400f8c4538309a59dd7526994bc14cf587aef3b7c51040d89ca2599c91c409b6acf8a5
7
+ data.tar.gz: 847fc92280c17a54d7f10976197b4ea0b37fea4217ee7ef9dd6d7089399b261831a07d3d56d07ffce2827aaf86c4332da680b3eaa044a3c35d0cb2347f123043
@@ -11,11 +11,18 @@ permissions:
11
11
 
12
12
  jobs:
13
13
  test:
14
- runs-on: ubuntu-latest
14
+ name: Ruby ${{ matrix.ruby-version }}
15
+ # Pinned rather than 'ubuntu-latest': ruby/setup-ruby has no prebuilt Rubies for
16
+ # ubuntu-26.04 yet, so the oldest versions of the matrix would break once the
17
+ # 'latest' alias moves on.
18
+ runs-on: ubuntu-24.04
15
19
 
16
20
  strategy:
21
+ fail-fast: false
17
22
  matrix:
18
- ruby-version: ['3.2']
23
+ # Each version resolves the newest dependencies it supports: Rails 7.1 on Ruby 2.7
24
+ # and 3.0, Rails 7.2 on Ruby 3.1, Rails 8.1 on Ruby 3.2 and above.
25
+ ruby-version: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4', '4.0']
19
26
 
20
27
  steps:
21
28
  - uses: actions/checkout@v4
data/.gitignore CHANGED
@@ -1,4 +1,8 @@
1
1
  .bundle/
2
2
  log/*.log
3
3
  .byebug_history
4
- *.gem
4
+ *.gem
5
+ # This gem supports several Ruby versions, each of them resolving a different set of
6
+ # dependencies (Ruby 2.7 caps Rails to 7.1, Ruby 3.1 to 7.2, Ruby 3.2+ resolves Rails 8.1).
7
+ # A single committed lockfile cannot satisfy all of them.
8
+ Gemfile.lock
data/CHANGELOG.md CHANGED
@@ -5,11 +5,13 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [1.0.1] - 2026-07-30
8
+ ## [1.1.0] - 2026-07-31
9
9
 
10
10
  * Dependencies: Upgrade test dependency `timecop` to `0.9.11`
11
11
  * Upgrade Docker image to Ruby 3.4
12
12
  * Remove all usages of `ActiveSupport` from the library, replaced by plain Ruby
13
+ * Support Ruby 2.7 up to 4.0: declare `required_ruby_version >= 2.7` and stop committing `Gemfile.lock`, so that each Ruby version resolves the dependencies it supports (Rails 7.1 on Ruby 2.7 and 3.0, Rails 7.2 on Ruby 3.1, Rails 8.1 on Ruby 3.2 and above)
14
+ * Test dependency `byebug` is no longer pinned to an exact version, since byebug 12 requires Ruby 3.1
13
15
 
14
16
  ## [1.0.0] - 2025-12-10
15
17
 
data/Dockerfile CHANGED
@@ -6,7 +6,6 @@ RUN apt-get update -qq && apt-get install -y build-essential git ruby-dev && apt
6
6
  WORKDIR /usr/src/app
7
7
 
8
8
  COPY Gemfile /usr/src/app/
9
- COPY Gemfile.lock /usr/src/app/
10
9
  COPY keycloak-api-rails.gemspec /usr/src/app/
11
10
  COPY lib/keycloak-api-rails/version.rb /usr/src/app/lib/keycloak-api-rails/
12
11
  RUN bundle install
data/README.md CHANGED
@@ -2,10 +2,23 @@
2
2
 
3
3
  This gem validates Keycloak JWT token for Ruby On Rails APIs.
4
4
 
5
+ ## Requirements
6
+
7
+ * Ruby `>= 2.7`
8
+ * Rails `>= 4.2`
9
+
10
+ Every push is tested against Ruby 2.7, 3.0, 3.1, 3.2, 3.3, 3.4 and 4.0. Each of them installs the
11
+ most recent dependencies it supports, so the test suite runs against Rails 7.1 (Ruby 2.7 and 3.0),
12
+ Rails 7.2 (Ruby 3.1) and Rails 8.1 (Ruby 3.2 and above).
13
+
14
+ Ruby 2.7 and 3.0 reached their end of life and no longer receive security fixes. They are supported
15
+ here so that applications running on Rails 7.0 and 7.1 can use this gem, but upgrading Ruby remains
16
+ the recommended path.
17
+
5
18
  ## Install
6
19
 
7
20
  ```ruby
8
- gem "keycloak-api-rails", "1.0.1"
21
+ gem "keycloak-api-rails", "1.1.0"
9
22
  ```
10
23
 
11
24
  ## Token validation
@@ -15,10 +15,14 @@ Gem::Specification.new do |spec|
15
15
  spec.files = `git ls-files -z`.split("\x0")
16
16
  spec.require_paths = ["lib"]
17
17
 
18
+ spec.required_ruby_version = ">= 2.7"
19
+
18
20
  spec.add_dependency "rails", ">= 4.2"
19
21
  spec.add_dependency "json-jwt", ">= 1.11.0"
20
22
 
21
23
  spec.add_development_dependency "rspec", "3.13.2"
22
24
  spec.add_development_dependency "timecop", "0.9.11"
23
- spec.add_development_dependency "byebug", "12.0.0"
25
+ # Not pinned to an exact version: byebug 12 requires Ruby >= 3.1, byebug 13 requires Ruby >= 3.2.
26
+ # Older Rubies resolve to byebug 11.
27
+ spec.add_development_dependency "byebug", ">= 11.1.3"
24
28
  end
@@ -1,3 +1,3 @@
1
1
  module KeycloakApiRails
2
- VERSION = "1.0.1"
2
+ VERSION = "1.1.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keycloak-api-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lorent Lempereur
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-07-30 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
@@ -70,16 +69,16 @@ dependencies:
70
69
  name: byebug
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
- - - '='
72
+ - - ">="
74
73
  - !ruby/object:Gem::Version
75
- version: 12.0.0
74
+ version: 11.1.3
76
75
  type: :development
77
76
  prerelease: false
78
77
  version_requirements: !ruby/object:Gem::Requirement
79
78
  requirements:
80
- - - '='
79
+ - - ">="
81
80
  - !ruby/object:Gem::Version
82
- version: 12.0.0
81
+ version: 11.1.3
83
82
  description: Rails middleware that validates Authorization token emitted by Keycloak
84
83
  email:
85
84
  - lorent.lempereur.dev@gmail.com
@@ -93,7 +92,6 @@ files:
93
92
  - CHANGELOG.md
94
93
  - Dockerfile
95
94
  - Gemfile
96
- - Gemfile.lock
97
95
  - MIT-LICENSE
98
96
  - README.md
99
97
  - keycloak-api-rails.gemspec
@@ -124,7 +122,6 @@ homepage: https://github.com/looorent/keycloak-api-rails
124
122
  licenses:
125
123
  - MIT
126
124
  metadata: {}
127
- post_install_message:
128
125
  rdoc_options: []
129
126
  require_paths:
130
127
  - lib
@@ -132,15 +129,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
132
129
  requirements:
133
130
  - - ">="
134
131
  - !ruby/object:Gem::Version
135
- version: '0'
132
+ version: '2.7'
136
133
  required_rubygems_version: !ruby/object:Gem::Requirement
137
134
  requirements:
138
135
  - - ">="
139
136
  - !ruby/object:Gem::Version
140
137
  version: '0'
141
138
  requirements: []
142
- rubygems_version: 3.0.3.1
143
- signing_key:
139
+ rubygems_version: 4.0.17
144
140
  specification_version: 4
145
141
  summary: Rails middleware that validates Authorization token emitted by Keycloak
146
142
  test_files: []
data/Gemfile.lock DELETED
@@ -1,249 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- keycloak-api-rails (1.0.0)
5
- json-jwt (>= 1.11.0)
6
- rails (>= 4.2)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- action_text-trix (2.1.19)
12
- railties
13
- actioncable (8.1.3.1)
14
- actionpack (= 8.1.3.1)
15
- activesupport (= 8.1.3.1)
16
- nio4r (~> 2.0)
17
- websocket-driver (>= 0.6.1)
18
- zeitwerk (~> 2.6)
19
- actionmailbox (8.1.3.1)
20
- actionpack (= 8.1.3.1)
21
- activejob (= 8.1.3.1)
22
- activerecord (= 8.1.3.1)
23
- activestorage (= 8.1.3.1)
24
- activesupport (= 8.1.3.1)
25
- mail (>= 2.8.0)
26
- actionmailer (8.1.3.1)
27
- actionpack (= 8.1.3.1)
28
- actionview (= 8.1.3.1)
29
- activejob (= 8.1.3.1)
30
- activesupport (= 8.1.3.1)
31
- mail (>= 2.8.0)
32
- rails-dom-testing (~> 2.2)
33
- actionpack (8.1.3.1)
34
- actionview (= 8.1.3.1)
35
- activesupport (= 8.1.3.1)
36
- nokogiri (>= 1.8.5)
37
- rack (>= 2.2.4)
38
- rack-session (>= 1.0.1)
39
- rack-test (>= 0.6.3)
40
- rails-dom-testing (~> 2.2)
41
- rails-html-sanitizer (~> 1.6)
42
- useragent (~> 0.16)
43
- actiontext (8.1.3.1)
44
- action_text-trix (~> 2.1.15)
45
- actionpack (= 8.1.3.1)
46
- activerecord (= 8.1.3.1)
47
- activestorage (= 8.1.3.1)
48
- activesupport (= 8.1.3.1)
49
- globalid (>= 0.6.0)
50
- nokogiri (>= 1.8.5)
51
- actionview (8.1.3.1)
52
- activesupport (= 8.1.3.1)
53
- builder (~> 3.1)
54
- erubi (~> 1.11)
55
- rails-dom-testing (~> 2.2)
56
- rails-html-sanitizer (~> 1.6)
57
- activejob (8.1.3.1)
58
- activesupport (= 8.1.3.1)
59
- globalid (>= 0.3.6)
60
- activemodel (8.1.3.1)
61
- activesupport (= 8.1.3.1)
62
- activerecord (8.1.3.1)
63
- activemodel (= 8.1.3.1)
64
- activesupport (= 8.1.3.1)
65
- timeout (>= 0.4.0)
66
- activestorage (8.1.3.1)
67
- actionpack (= 8.1.3.1)
68
- activejob (= 8.1.3.1)
69
- activerecord (= 8.1.3.1)
70
- activesupport (= 8.1.3.1)
71
- marcel (~> 1.0)
72
- activesupport (8.1.3.1)
73
- base64
74
- bigdecimal
75
- concurrent-ruby (~> 1.0, >= 1.3.1)
76
- connection_pool (>= 2.2.5)
77
- drb
78
- i18n (>= 1.6, < 2)
79
- json
80
- logger (>= 1.4.2)
81
- minitest (>= 5.1)
82
- securerandom (>= 0.3)
83
- tzinfo (~> 2.0, >= 2.0.5)
84
- uri (>= 0.13.1)
85
- aes_key_wrap (1.1.0)
86
- base64 (0.3.0)
87
- bigdecimal (4.1.2)
88
- bindata (3.0.0)
89
- builder (3.3.0)
90
- byebug (12.0.0)
91
- concurrent-ruby (1.3.8)
92
- connection_pool (3.0.2)
93
- crass (1.0.7)
94
- date (3.5.1)
95
- diff-lcs (1.6.2)
96
- drb (2.2.3)
97
- erb (6.0.6)
98
- erubi (1.13.1)
99
- faraday (2.14.3)
100
- faraday-net_http (>= 2.0, < 3.5)
101
- json
102
- logger
103
- faraday-follow_redirects (0.5.0)
104
- faraday (>= 1, < 3)
105
- faraday-net_http (3.4.4)
106
- net-http (~> 0.5)
107
- globalid (1.4.0)
108
- activesupport (>= 6.1)
109
- i18n (1.15.2)
110
- concurrent-ruby (~> 1.0)
111
- io-console (0.8.2)
112
- irb (1.18.0)
113
- pp (>= 0.6.0)
114
- prism (>= 1.3.0)
115
- rdoc (>= 4.0.0)
116
- reline (>= 0.4.2)
117
- json (2.21.1)
118
- json-jwt (1.17.1)
119
- activesupport (>= 4.2)
120
- aes_key_wrap
121
- base64
122
- bindata
123
- faraday (~> 2.0)
124
- faraday-follow_redirects
125
- logger (1.7.0)
126
- loofah (2.25.2)
127
- crass (~> 1.0.2)
128
- nokogiri (>= 1.12.0)
129
- mail (2.9.1)
130
- logger
131
- mini_mime (>= 0.1.1)
132
- net-imap
133
- net-pop
134
- net-smtp
135
- marcel (1.2.1)
136
- mini_mime (1.1.5)
137
- mini_portile2 (2.8.9)
138
- minitest (6.0.6)
139
- drb (~> 2.0)
140
- prism (~> 1.5)
141
- net-http (0.9.1)
142
- uri (>= 0.11.1)
143
- net-imap (0.6.6)
144
- date
145
- net-protocol
146
- net-pop (0.1.2)
147
- net-protocol
148
- net-protocol (0.2.2)
149
- timeout
150
- net-smtp (0.5.1)
151
- net-protocol
152
- nio4r (2.7.5)
153
- nokogiri (1.19.4)
154
- mini_portile2 (~> 2.8.2)
155
- racc (~> 1.4)
156
- pp (0.6.4)
157
- prettyprint
158
- prettyprint (0.2.0)
159
- prism (1.9.0)
160
- racc (1.8.1)
161
- rack (3.2.6)
162
- rack-session (2.1.2)
163
- base64 (>= 0.1.0)
164
- rack (>= 3.0.0)
165
- rack-test (2.2.0)
166
- rack (>= 1.3)
167
- rackup (2.3.1)
168
- rack (>= 3)
169
- rails (8.1.3.1)
170
- actioncable (= 8.1.3.1)
171
- actionmailbox (= 8.1.3.1)
172
- actionmailer (= 8.1.3.1)
173
- actionpack (= 8.1.3.1)
174
- actiontext (= 8.1.3.1)
175
- actionview (= 8.1.3.1)
176
- activejob (= 8.1.3.1)
177
- activemodel (= 8.1.3.1)
178
- activerecord (= 8.1.3.1)
179
- activestorage (= 8.1.3.1)
180
- activesupport (= 8.1.3.1)
181
- bundler (>= 1.15.0)
182
- railties (= 8.1.3.1)
183
- rails-dom-testing (2.3.0)
184
- activesupport (>= 5.0.0)
185
- minitest
186
- nokogiri (>= 1.6)
187
- rails-html-sanitizer (1.7.1)
188
- loofah (~> 2.25, >= 2.25.2)
189
- nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
190
- railties (8.1.3.1)
191
- actionpack (= 8.1.3.1)
192
- activesupport (= 8.1.3.1)
193
- irb (~> 1.13)
194
- rackup (>= 1.0.0)
195
- rake (>= 12.2)
196
- thor (~> 1.0, >= 1.2.2)
197
- tsort (>= 0.2)
198
- zeitwerk (~> 2.6)
199
- rake (13.4.2)
200
- rbs (4.1.1)
201
- logger
202
- prism (>= 1.6.0)
203
- tsort
204
- rdoc (8.0.0)
205
- erb
206
- prism (>= 1.6.0)
207
- rbs (>= 4.0.0)
208
- tsort
209
- reline (0.6.3)
210
- io-console (~> 0.5)
211
- rspec (3.13.2)
212
- rspec-core (~> 3.13.0)
213
- rspec-expectations (~> 3.13.0)
214
- rspec-mocks (~> 3.13.0)
215
- rspec-core (3.13.6)
216
- rspec-support (~> 3.13.0)
217
- rspec-expectations (3.13.5)
218
- diff-lcs (>= 1.2.0, < 2.0)
219
- rspec-support (~> 3.13.0)
220
- rspec-mocks (3.13.8)
221
- diff-lcs (>= 1.2.0, < 2.0)
222
- rspec-support (~> 3.13.0)
223
- rspec-support (3.13.7)
224
- securerandom (0.4.1)
225
- thor (1.5.0)
226
- timecop (0.9.11)
227
- timeout (0.6.1)
228
- tsort (0.2.0)
229
- tzinfo (2.0.6)
230
- concurrent-ruby (~> 1.0)
231
- uri (1.1.1)
232
- useragent (0.16.11)
233
- websocket-driver (0.8.2)
234
- base64
235
- websocket-extensions (>= 0.1.0)
236
- websocket-extensions (0.1.5)
237
- zeitwerk (2.8.2)
238
-
239
- PLATFORMS
240
- ruby
241
-
242
- DEPENDENCIES
243
- byebug (= 12.0.0)
244
- keycloak-api-rails!
245
- rspec (= 3.13.2)
246
- timecop (= 0.9.11)
247
-
248
- BUNDLED WITH
249
- 2.4.13