authentication-logic 0.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.
Files changed (48) hide show
  1. checksums.yaml +7 -0
  2. data/bin/console +11 -0
  3. data/bin/setup +8 -0
  4. data/lib/auth/logic/acts_as_authentic/base.rb +118 -0
  5. data/lib/auth/logic/acts_as_authentic/email.rb +32 -0
  6. data/lib/auth/logic/acts_as_authentic/logged_in_status.rb +87 -0
  7. data/lib/auth/logic/acts_as_authentic/login.rb +65 -0
  8. data/lib/auth/logic/acts_as_authentic/magic_columns.rb +40 -0
  9. data/lib/auth/logic/acts_as_authentic/password.rb +362 -0
  10. data/lib/auth/logic/acts_as_authentic/perishable_token.rb +125 -0
  11. data/lib/auth/logic/acts_as_authentic/persistence_token.rb +72 -0
  12. data/lib/auth/logic/acts_as_authentic/queries/case_sensitivity.rb +55 -0
  13. data/lib/auth/logic/acts_as_authentic/queries/find_with_case.rb +85 -0
  14. data/lib/auth/logic/acts_as_authentic/session_maintenance.rb +189 -0
  15. data/lib/auth/logic/acts_as_authentic/single_access_token.rb +85 -0
  16. data/lib/auth/logic/config.rb +41 -0
  17. data/lib/auth/logic/controller_adapters/abstract_adapter.rb +121 -0
  18. data/lib/auth/logic/controller_adapters/rack_adapter.rb +74 -0
  19. data/lib/auth/logic/controller_adapters/rails_adapter.rb +49 -0
  20. data/lib/auth/logic/controller_adapters/sinatra_adapter.rb +69 -0
  21. data/lib/auth/logic/cookie_credentials.rb +65 -0
  22. data/lib/auth/logic/crypto_providers/bcrypt.rb +116 -0
  23. data/lib/auth/logic/crypto_providers/md5/v2.rb +37 -0
  24. data/lib/auth/logic/crypto_providers/md5.rb +38 -0
  25. data/lib/auth/logic/crypto_providers/scrypt.rb +96 -0
  26. data/lib/auth/logic/crypto_providers/sha1/v2.rb +42 -0
  27. data/lib/auth/logic/crypto_providers/sha1.rb +43 -0
  28. data/lib/auth/logic/crypto_providers/sha256/v2.rb +60 -0
  29. data/lib/auth/logic/crypto_providers/sha256.rb +61 -0
  30. data/lib/auth/logic/crypto_providers/sha512/v2.rb +41 -0
  31. data/lib/auth/logic/crypto_providers/sha512.rb +40 -0
  32. data/lib/auth/logic/crypto_providers.rb +89 -0
  33. data/lib/auth/logic/errors.rb +52 -0
  34. data/lib/auth/logic/i18n/translator.rb +20 -0
  35. data/lib/auth/logic/i18n.rb +100 -0
  36. data/lib/auth/logic/random.rb +18 -0
  37. data/lib/auth/logic/session/base.rb +2205 -0
  38. data/lib/auth/logic/session/magic_column/assigns_last_request_at.rb +49 -0
  39. data/lib/auth/logic/test_case/mock_api_controller.rb +53 -0
  40. data/lib/auth/logic/test_case/mock_controller.rb +59 -0
  41. data/lib/auth/logic/test_case/mock_cookie_jar.rb +112 -0
  42. data/lib/auth/logic/test_case/mock_logger.rb +14 -0
  43. data/lib/auth/logic/test_case/mock_request.rb +36 -0
  44. data/lib/auth/logic/test_case/rails_request_adapter.rb +40 -0
  45. data/lib/auth/logic/test_case.rb +216 -0
  46. data/lib/auth/logic/version.rb +7 -0
  47. data/lib/auth/logic.rb +46 -0
  48. metadata +426 -0
metadata ADDED
@@ -0,0 +1,426 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: authentication-logic
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Vincent Girard
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-10-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activemodel
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '7.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '7.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activerecord
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '7.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '7.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '7.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '7.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: request_store
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.5'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.5.1
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.5'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.5.1
75
+ - !ruby/object:Gem::Dependency
76
+ name: bcrypt
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.1'
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 3.1.19
85
+ type: :development
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '3.1'
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 3.1.19
95
+ - !ruby/object:Gem::Dependency
96
+ name: byebug
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '11.1'
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 11.1.3
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '11.1'
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 11.1.3
115
+ - !ruby/object:Gem::Dependency
116
+ name: coveralls
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: 0.8.23
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: 0.8.23
129
+ - !ruby/object:Gem::Dependency
130
+ name: minitest-reporters
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - "~>"
134
+ - !ruby/object:Gem::Version
135
+ version: '1.6'
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 1.6.1
139
+ type: :development
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.6'
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: 1.6.1
149
+ - !ruby/object:Gem::Dependency
150
+ name: mysql2
151
+ requirement: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - "~>"
154
+ - !ruby/object:Gem::Version
155
+ version: 0.5.2
156
+ type: :development
157
+ prerelease: false
158
+ version_requirements: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - "~>"
161
+ - !ruby/object:Gem::Version
162
+ version: 0.5.2
163
+ - !ruby/object:Gem::Dependency
164
+ name: pg
165
+ requirement: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '1.5'
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 1.5.4
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '1.5'
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 1.5.4
183
+ - !ruby/object:Gem::Dependency
184
+ name: rake
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '12.3'
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: 12.3.3
193
+ type: :development
194
+ prerelease: false
195
+ version_requirements: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '12.3'
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: 12.3.3
203
+ - !ruby/object:Gem::Dependency
204
+ name: rbs
205
+ requirement: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: '3.2'
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 3.2.2
213
+ type: :development
214
+ prerelease: false
215
+ version_requirements: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - "~>"
218
+ - !ruby/object:Gem::Version
219
+ version: '3.2'
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: 3.2.2
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.56'
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: 1.56.4
233
+ type: :development
234
+ prerelease: false
235
+ version_requirements: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - "~>"
238
+ - !ruby/object:Gem::Version
239
+ version: '1.56'
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: 1.56.4
243
+ - !ruby/object:Gem::Dependency
244
+ name: rubocop-performance
245
+ requirement: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - "~>"
248
+ - !ruby/object:Gem::Version
249
+ version: '1.19'
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ version: 1.19.1
253
+ type: :development
254
+ prerelease: false
255
+ version_requirements: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - "~>"
258
+ - !ruby/object:Gem::Version
259
+ version: '1.19'
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ version: 1.19.1
263
+ - !ruby/object:Gem::Dependency
264
+ name: scrypt
265
+ requirement: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - "~>"
268
+ - !ruby/object:Gem::Version
269
+ version: '3.0'
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: 3.0.7
273
+ type: :development
274
+ prerelease: false
275
+ version_requirements: !ruby/object:Gem::Requirement
276
+ requirements:
277
+ - - "~>"
278
+ - !ruby/object:Gem::Version
279
+ version: '3.0'
280
+ - - ">="
281
+ - !ruby/object:Gem::Version
282
+ version: 3.0.7
283
+ - !ruby/object:Gem::Dependency
284
+ name: simplecov
285
+ requirement: !ruby/object:Gem::Requirement
286
+ requirements:
287
+ - - "~>"
288
+ - !ruby/object:Gem::Version
289
+ version: 0.16.1
290
+ type: :development
291
+ prerelease: false
292
+ version_requirements: !ruby/object:Gem::Requirement
293
+ requirements:
294
+ - - "~>"
295
+ - !ruby/object:Gem::Version
296
+ version: 0.16.1
297
+ - !ruby/object:Gem::Dependency
298
+ name: simplecov-console
299
+ requirement: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - "~>"
302
+ - !ruby/object:Gem::Version
303
+ version: 0.9.1
304
+ type: :development
305
+ prerelease: false
306
+ version_requirements: !ruby/object:Gem::Requirement
307
+ requirements:
308
+ - - "~>"
309
+ - !ruby/object:Gem::Version
310
+ version: 0.9.1
311
+ - !ruby/object:Gem::Dependency
312
+ name: sqlite3
313
+ requirement: !ruby/object:Gem::Requirement
314
+ requirements:
315
+ - - "~>"
316
+ - !ruby/object:Gem::Version
317
+ version: '1.6'
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: 1.6.6
321
+ type: :development
322
+ prerelease: false
323
+ version_requirements: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: '1.6'
328
+ - - ">="
329
+ - !ruby/object:Gem::Version
330
+ version: 1.6.6
331
+ - !ruby/object:Gem::Dependency
332
+ name: timecop
333
+ requirement: !ruby/object:Gem::Requirement
334
+ requirements:
335
+ - - "~>"
336
+ - !ruby/object:Gem::Version
337
+ version: 0.9.8
338
+ type: :development
339
+ prerelease: false
340
+ version_requirements: !ruby/object:Gem::Requirement
341
+ requirements:
342
+ - - "~>"
343
+ - !ruby/object:Gem::Version
344
+ version: 0.9.8
345
+ description:
346
+ email:
347
+ - vinccool96@gmail.com
348
+ executables:
349
+ - console
350
+ - setup
351
+ extensions: []
352
+ extra_rdoc_files: []
353
+ files:
354
+ - bin/console
355
+ - bin/setup
356
+ - lib/auth/logic.rb
357
+ - lib/auth/logic/acts_as_authentic/base.rb
358
+ - lib/auth/logic/acts_as_authentic/email.rb
359
+ - lib/auth/logic/acts_as_authentic/logged_in_status.rb
360
+ - lib/auth/logic/acts_as_authentic/login.rb
361
+ - lib/auth/logic/acts_as_authentic/magic_columns.rb
362
+ - lib/auth/logic/acts_as_authentic/password.rb
363
+ - lib/auth/logic/acts_as_authentic/perishable_token.rb
364
+ - lib/auth/logic/acts_as_authentic/persistence_token.rb
365
+ - lib/auth/logic/acts_as_authentic/queries/case_sensitivity.rb
366
+ - lib/auth/logic/acts_as_authentic/queries/find_with_case.rb
367
+ - lib/auth/logic/acts_as_authentic/session_maintenance.rb
368
+ - lib/auth/logic/acts_as_authentic/single_access_token.rb
369
+ - lib/auth/logic/config.rb
370
+ - lib/auth/logic/controller_adapters/abstract_adapter.rb
371
+ - lib/auth/logic/controller_adapters/rack_adapter.rb
372
+ - lib/auth/logic/controller_adapters/rails_adapter.rb
373
+ - lib/auth/logic/controller_adapters/sinatra_adapter.rb
374
+ - lib/auth/logic/cookie_credentials.rb
375
+ - lib/auth/logic/crypto_providers.rb
376
+ - lib/auth/logic/crypto_providers/bcrypt.rb
377
+ - lib/auth/logic/crypto_providers/md5.rb
378
+ - lib/auth/logic/crypto_providers/md5/v2.rb
379
+ - lib/auth/logic/crypto_providers/scrypt.rb
380
+ - lib/auth/logic/crypto_providers/sha1.rb
381
+ - lib/auth/logic/crypto_providers/sha1/v2.rb
382
+ - lib/auth/logic/crypto_providers/sha256.rb
383
+ - lib/auth/logic/crypto_providers/sha256/v2.rb
384
+ - lib/auth/logic/crypto_providers/sha512.rb
385
+ - lib/auth/logic/crypto_providers/sha512/v2.rb
386
+ - lib/auth/logic/errors.rb
387
+ - lib/auth/logic/i18n.rb
388
+ - lib/auth/logic/i18n/translator.rb
389
+ - lib/auth/logic/random.rb
390
+ - lib/auth/logic/session/base.rb
391
+ - lib/auth/logic/session/magic_column/assigns_last_request_at.rb
392
+ - lib/auth/logic/test_case.rb
393
+ - lib/auth/logic/test_case/mock_api_controller.rb
394
+ - lib/auth/logic/test_case/mock_controller.rb
395
+ - lib/auth/logic/test_case/mock_cookie_jar.rb
396
+ - lib/auth/logic/test_case/mock_logger.rb
397
+ - lib/auth/logic/test_case/mock_request.rb
398
+ - lib/auth/logic/test_case/rails_request_adapter.rb
399
+ - lib/auth/logic/version.rb
400
+ homepage: https://github.com/Vinccool96/authentication-logic
401
+ licenses:
402
+ - MIT
403
+ metadata:
404
+ homepage_uri: https://github.com/Vinccool96/authentication-logic
405
+ source_code_uri: https://github.com/Vinccool96/authentication-logic
406
+ changelog_uri: https://github.com/Vinccool96/authentication-logic/blob/master/CHANGELOG.md
407
+ post_install_message:
408
+ rdoc_options: []
409
+ require_paths:
410
+ - lib
411
+ required_ruby_version: !ruby/object:Gem::Requirement
412
+ requirements:
413
+ - - ">="
414
+ - !ruby/object:Gem::Version
415
+ version: 2.6.0
416
+ required_rubygems_version: !ruby/object:Gem::Requirement
417
+ requirements:
418
+ - - ">="
419
+ - !ruby/object:Gem::Version
420
+ version: '0'
421
+ requirements: []
422
+ rubygems_version: 3.4.20
423
+ signing_key:
424
+ specification_version: 4
425
+ summary: An unobtrusive ruby authentication library based on ActiveRecord.
426
+ test_files: []