securial 0.5.0 → 0.6.1
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 +4 -4
- data/README.md +17 -26
- data/app/controllers/concerns/securial/identity.rb +4 -12
- data/app/controllers/securial/sessions_controller.rb +20 -8
- data/app/models/concerns/securial/password_resettable.rb +15 -0
- data/app/models/securial/session.rb +2 -2
- data/app/views/securial/users/_securial_user.json.jbuilder +2 -0
- data/config/routes.rb +0 -1
- data/db/migrate/20250517155521_create_securial_users.rb +10 -7
- data/lib/generators/securial/install/templates/securial_initializer.erb +43 -13
- data/lib/generators/securial/install/views_generastor.rb +25 -0
- data/lib/securial/auth/_index.rb +3 -0
- data/lib/securial/{sessions/session_encoder.rb → auth/auth_encoder.rb} +4 -4
- data/lib/securial/auth/errors.rb +15 -0
- data/lib/securial/auth/session_creator.rb +21 -0
- data/lib/securial/config/configuration.rb +50 -30
- data/lib/securial/config/errors.rb +2 -1
- data/lib/securial/config/validation.rb +96 -26
- data/lib/securial/engine.rb +35 -31
- data/lib/securial/key_transformer.rb +32 -0
- data/lib/securial/middleware/_index.rb +3 -0
- data/lib/securial/middleware/transform_request_keys.rb +33 -0
- data/lib/securial/middleware/transform_response_keys.rb +45 -0
- data/lib/securial/rack_attack.rb +48 -0
- data/lib/securial/version.rb +1 -1
- data/lib/securial.rb +6 -1
- metadata +29 -149
- data/db/migrate/20250524210207_add_password_reset_fields_to_securial_users.rb +0 -6
- data/lib/securial/sessions/_index.rb +0 -2
- data/lib/securial/sessions/errors.rb +0 -15
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: securial
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aly Badawy
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2025-05-
|
|
10
|
+
date: 2025-05-30 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: rails
|
|
@@ -80,61 +80,19 @@ dependencies:
|
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
81
|
version: '0.6'
|
|
82
82
|
- !ruby/object:Gem::Dependency
|
|
83
|
-
name:
|
|
84
|
-
requirement: !ruby/object:Gem::Requirement
|
|
85
|
-
requirements:
|
|
86
|
-
- - "~>"
|
|
87
|
-
- !ruby/object:Gem::Version
|
|
88
|
-
version: '3.40'
|
|
89
|
-
type: :development
|
|
90
|
-
prerelease: false
|
|
91
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
-
requirements:
|
|
93
|
-
- - "~>"
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
version: '3.40'
|
|
96
|
-
- !ruby/object:Gem::Dependency
|
|
97
|
-
name: coveralls-lcov
|
|
98
|
-
requirement: !ruby/object:Gem::Requirement
|
|
99
|
-
requirements:
|
|
100
|
-
- - "~>"
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: '1.7'
|
|
103
|
-
type: :development
|
|
104
|
-
prerelease: false
|
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
-
requirements:
|
|
107
|
-
- - "~>"
|
|
108
|
-
- !ruby/object:Gem::Version
|
|
109
|
-
version: '1.7'
|
|
110
|
-
- !ruby/object:Gem::Dependency
|
|
111
|
-
name: database_cleaner
|
|
83
|
+
name: rack-attack
|
|
112
84
|
requirement: !ruby/object:Gem::Requirement
|
|
113
85
|
requirements:
|
|
114
86
|
- - "~>"
|
|
115
87
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '
|
|
117
|
-
type: :
|
|
118
|
-
prerelease: false
|
|
119
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
-
requirements:
|
|
121
|
-
- - "~>"
|
|
122
|
-
- !ruby/object:Gem::Version
|
|
123
|
-
version: '2.1'
|
|
124
|
-
- !ruby/object:Gem::Dependency
|
|
125
|
-
name: factory_bot_rails
|
|
126
|
-
requirement: !ruby/object:Gem::Requirement
|
|
127
|
-
requirements:
|
|
128
|
-
- - "~>"
|
|
129
|
-
- !ruby/object:Gem::Version
|
|
130
|
-
version: '6.4'
|
|
131
|
-
type: :development
|
|
88
|
+
version: '6.7'
|
|
89
|
+
type: :runtime
|
|
132
90
|
prerelease: false
|
|
133
91
|
version_requirements: !ruby/object:Gem::Requirement
|
|
134
92
|
requirements:
|
|
135
93
|
- - "~>"
|
|
136
94
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: '6.
|
|
95
|
+
version: '6.7'
|
|
138
96
|
- !ruby/object:Gem::Dependency
|
|
139
97
|
name: faker
|
|
140
98
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -150,117 +108,61 @@ dependencies:
|
|
|
150
108
|
- !ruby/object:Gem::Version
|
|
151
109
|
version: '3.5'
|
|
152
110
|
- !ruby/object:Gem::Dependency
|
|
153
|
-
name:
|
|
154
|
-
requirement: !ruby/object:Gem::Requirement
|
|
155
|
-
requirements:
|
|
156
|
-
- - "~>"
|
|
157
|
-
- !ruby/object:Gem::Version
|
|
158
|
-
version: '0.10'
|
|
159
|
-
type: :development
|
|
160
|
-
prerelease: false
|
|
161
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
162
|
-
requirements:
|
|
163
|
-
- - "~>"
|
|
164
|
-
- !ruby/object:Gem::Version
|
|
165
|
-
version: '0.10'
|
|
166
|
-
- !ruby/object:Gem::Dependency
|
|
167
|
-
name: overcommit
|
|
168
|
-
requirement: !ruby/object:Gem::Requirement
|
|
169
|
-
requirements:
|
|
170
|
-
- - "~>"
|
|
171
|
-
- !ruby/object:Gem::Version
|
|
172
|
-
version: '0.67'
|
|
173
|
-
type: :development
|
|
174
|
-
prerelease: false
|
|
175
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
176
|
-
requirements:
|
|
177
|
-
- - "~>"
|
|
178
|
-
- !ruby/object:Gem::Version
|
|
179
|
-
version: '0.67'
|
|
180
|
-
- !ruby/object:Gem::Dependency
|
|
181
|
-
name: rubocop
|
|
182
|
-
requirement: !ruby/object:Gem::Requirement
|
|
183
|
-
requirements:
|
|
184
|
-
- - "~>"
|
|
185
|
-
- !ruby/object:Gem::Version
|
|
186
|
-
version: '1.75'
|
|
187
|
-
type: :development
|
|
188
|
-
prerelease: false
|
|
189
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
190
|
-
requirements:
|
|
191
|
-
- - "~>"
|
|
192
|
-
- !ruby/object:Gem::Version
|
|
193
|
-
version: '1.75'
|
|
194
|
-
- !ruby/object:Gem::Dependency
|
|
195
|
-
name: rubocop-config-prettier
|
|
196
|
-
requirement: !ruby/object:Gem::Requirement
|
|
197
|
-
requirements:
|
|
198
|
-
- - "~>"
|
|
199
|
-
- !ruby/object:Gem::Version
|
|
200
|
-
version: 0.1.13
|
|
201
|
-
type: :development
|
|
202
|
-
prerelease: false
|
|
203
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
204
|
-
requirements:
|
|
205
|
-
- - "~>"
|
|
206
|
-
- !ruby/object:Gem::Version
|
|
207
|
-
version: 0.1.13
|
|
208
|
-
- !ruby/object:Gem::Dependency
|
|
209
|
-
name: rubocop-performance
|
|
111
|
+
name: capybara
|
|
210
112
|
requirement: !ruby/object:Gem::Requirement
|
|
211
113
|
requirements:
|
|
212
114
|
- - "~>"
|
|
213
115
|
- !ruby/object:Gem::Version
|
|
214
|
-
version: '
|
|
116
|
+
version: '3.40'
|
|
215
117
|
type: :development
|
|
216
118
|
prerelease: false
|
|
217
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
218
120
|
requirements:
|
|
219
121
|
- - "~>"
|
|
220
122
|
- !ruby/object:Gem::Version
|
|
221
|
-
version: '
|
|
123
|
+
version: '3.40'
|
|
222
124
|
- !ruby/object:Gem::Dependency
|
|
223
|
-
name:
|
|
125
|
+
name: database_cleaner
|
|
224
126
|
requirement: !ruby/object:Gem::Requirement
|
|
225
127
|
requirements:
|
|
226
128
|
- - "~>"
|
|
227
129
|
- !ruby/object:Gem::Version
|
|
228
|
-
version: '2.
|
|
130
|
+
version: '2.1'
|
|
229
131
|
type: :development
|
|
230
132
|
prerelease: false
|
|
231
133
|
version_requirements: !ruby/object:Gem::Requirement
|
|
232
134
|
requirements:
|
|
233
135
|
- - "~>"
|
|
234
136
|
- !ruby/object:Gem::Version
|
|
235
|
-
version: '2.
|
|
137
|
+
version: '2.1'
|
|
236
138
|
- !ruby/object:Gem::Dependency
|
|
237
|
-
name:
|
|
139
|
+
name: factory_bot_rails
|
|
238
140
|
requirement: !ruby/object:Gem::Requirement
|
|
239
141
|
requirements:
|
|
240
142
|
- - "~>"
|
|
241
143
|
- !ruby/object:Gem::Version
|
|
242
|
-
version: '
|
|
144
|
+
version: '6.4'
|
|
243
145
|
type: :development
|
|
244
146
|
prerelease: false
|
|
245
147
|
version_requirements: !ruby/object:Gem::Requirement
|
|
246
148
|
requirements:
|
|
247
149
|
- - "~>"
|
|
248
150
|
- !ruby/object:Gem::Version
|
|
249
|
-
version: '
|
|
151
|
+
version: '6.4'
|
|
250
152
|
- !ruby/object:Gem::Dependency
|
|
251
|
-
name:
|
|
153
|
+
name: generator_spec
|
|
252
154
|
requirement: !ruby/object:Gem::Requirement
|
|
253
155
|
requirements:
|
|
254
156
|
- - "~>"
|
|
255
157
|
- !ruby/object:Gem::Version
|
|
256
|
-
version: '
|
|
158
|
+
version: '0.10'
|
|
257
159
|
type: :development
|
|
258
160
|
prerelease: false
|
|
259
161
|
version_requirements: !ruby/object:Gem::Requirement
|
|
260
162
|
requirements:
|
|
261
163
|
- - "~>"
|
|
262
164
|
- !ruby/object:Gem::Version
|
|
263
|
-
version: '
|
|
165
|
+
version: '0.10'
|
|
264
166
|
- !ruby/object:Gem::Dependency
|
|
265
167
|
name: rspec-rails
|
|
266
168
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -289,34 +191,6 @@ dependencies:
|
|
|
289
191
|
- - "~>"
|
|
290
192
|
- !ruby/object:Gem::Version
|
|
291
193
|
version: '6.5'
|
|
292
|
-
- !ruby/object:Gem::Dependency
|
|
293
|
-
name: simplecov
|
|
294
|
-
requirement: !ruby/object:Gem::Requirement
|
|
295
|
-
requirements:
|
|
296
|
-
- - "~>"
|
|
297
|
-
- !ruby/object:Gem::Version
|
|
298
|
-
version: '0.22'
|
|
299
|
-
type: :development
|
|
300
|
-
prerelease: false
|
|
301
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
302
|
-
requirements:
|
|
303
|
-
- - "~>"
|
|
304
|
-
- !ruby/object:Gem::Version
|
|
305
|
-
version: '0.22'
|
|
306
|
-
- !ruby/object:Gem::Dependency
|
|
307
|
-
name: simplecov-lcov
|
|
308
|
-
requirement: !ruby/object:Gem::Requirement
|
|
309
|
-
requirements:
|
|
310
|
-
- - "~>"
|
|
311
|
-
- !ruby/object:Gem::Version
|
|
312
|
-
version: 0.8.0
|
|
313
|
-
type: :development
|
|
314
|
-
prerelease: false
|
|
315
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
316
|
-
requirements:
|
|
317
|
-
- - "~>"
|
|
318
|
-
- !ruby/object:Gem::Version
|
|
319
|
-
version: 0.8.0
|
|
320
194
|
description: Securial is a mountable Rails engine that provides robust, extensible
|
|
321
195
|
authentication and access control for Rails applications. It supports JWT, API tokens,
|
|
322
196
|
session-based auth, and is designed for easy integration with modern web and mobile
|
|
@@ -373,11 +247,11 @@ files:
|
|
|
373
247
|
- db/migrate/20250517155521_create_securial_users.rb
|
|
374
248
|
- db/migrate/20250518122749_create_securial_role_assignments.rb
|
|
375
249
|
- db/migrate/20250519075407_create_securial_sessions.rb
|
|
376
|
-
- db/migrate/20250524210207_add_password_reset_fields_to_securial_users.rb
|
|
377
250
|
- lib/generators/factory_bot/model/model_generator.rb
|
|
378
251
|
- lib/generators/factory_bot/templates/factory.erb
|
|
379
252
|
- lib/generators/securial/install/install_generator.rb
|
|
380
253
|
- lib/generators/securial/install/templates/securial_initializer.erb
|
|
254
|
+
- lib/generators/securial/install/views_generastor.rb
|
|
381
255
|
- lib/generators/securial/jbuilder/jbuilder_generator.rb
|
|
382
256
|
- lib/generators/securial/jbuilder/templates/_resource.json.erb
|
|
383
257
|
- lib/generators/securial/jbuilder/templates/index.json.erb
|
|
@@ -388,6 +262,10 @@ files:
|
|
|
388
262
|
- lib/generators/securial/scaffold/templates/routes.erb
|
|
389
263
|
- lib/generators/securial/scaffold/templates/routing_spec.erb
|
|
390
264
|
- lib/securial.rb
|
|
265
|
+
- lib/securial/auth/_index.rb
|
|
266
|
+
- lib/securial/auth/auth_encoder.rb
|
|
267
|
+
- lib/securial/auth/errors.rb
|
|
268
|
+
- lib/securial/auth/session_creator.rb
|
|
391
269
|
- lib/securial/config/_index.rb
|
|
392
270
|
- lib/securial/config/configuration.rb
|
|
393
271
|
- lib/securial/config/errors.rb
|
|
@@ -402,18 +280,20 @@ files:
|
|
|
402
280
|
- lib/securial/helpers/regex_helper.rb
|
|
403
281
|
- lib/securial/inspectors/_index.rb
|
|
404
282
|
- lib/securial/inspectors/route_inspector.rb
|
|
283
|
+
- lib/securial/key_transformer.rb
|
|
405
284
|
- lib/securial/logger.rb
|
|
285
|
+
- lib/securial/middleware/_index.rb
|
|
406
286
|
- lib/securial/middleware/request_logger_tag.rb
|
|
407
|
-
- lib/securial/
|
|
408
|
-
- lib/securial/
|
|
409
|
-
- lib/securial/
|
|
287
|
+
- lib/securial/middleware/transform_request_keys.rb
|
|
288
|
+
- lib/securial/middleware/transform_response_keys.rb
|
|
289
|
+
- lib/securial/rack_attack.rb
|
|
410
290
|
- lib/securial/version.rb
|
|
411
291
|
- lib/tasks/securial_tasks.rake
|
|
412
292
|
homepage: https://github.com/AlyBadawy/Securial/wiki
|
|
413
293
|
licenses:
|
|
414
294
|
- MIT
|
|
415
295
|
metadata:
|
|
416
|
-
release_date: '2025-05-
|
|
296
|
+
release_date: '2025-05-30'
|
|
417
297
|
allowed_push_host: https://rubygems.org
|
|
418
298
|
homepage_uri: https://github.com/AlyBadawy/Securial/wiki
|
|
419
299
|
source_code_uri: https://github.com/AlyBadawy/Securial
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module Securial
|
|
2
|
-
module Sessions
|
|
3
|
-
module Errors
|
|
4
|
-
class BaseSessionError < StandardError
|
|
5
|
-
def backtrace; []; end
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
class SessionEncodeError < BaseSessionError; end
|
|
9
|
-
class SessionDecodeError < BaseSessionError; end
|
|
10
|
-
|
|
11
|
-
class SessionRevokedError < BaseSessionError; end
|
|
12
|
-
class SessionExpiredError < BaseSessionError; end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|