devise-security 0.14.2 → 0.17.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 (144) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +125 -59
  3. data/app/controllers/devise/paranoid_verification_code_controller.rb +13 -1
  4. data/app/controllers/devise/password_expired_controller.rb +24 -6
  5. data/app/views/devise/paranoid_verification_code/show.html.erb +3 -3
  6. data/app/views/devise/password_expired/show.html.erb +5 -5
  7. data/config/locales/bg.yml +41 -0
  8. data/config/locales/by.yml +49 -0
  9. data/config/locales/cs.yml +41 -0
  10. data/config/locales/de.yml +15 -2
  11. data/config/locales/en.yml +15 -2
  12. data/config/locales/es.yml +10 -9
  13. data/config/locales/fa.yml +41 -0
  14. data/config/locales/fr.yml +1 -0
  15. data/config/locales/hi.yml +42 -0
  16. data/config/locales/it.yml +35 -4
  17. data/config/locales/ja.yml +2 -1
  18. data/config/locales/nl.yml +41 -0
  19. data/config/locales/pt.yml +41 -0
  20. data/config/locales/ru.yml +49 -0
  21. data/config/locales/tr.yml +1 -0
  22. data/config/locales/uk.yml +49 -0
  23. data/config/locales/zh_CN.yml +41 -0
  24. data/config/locales/zh_TW.yml +41 -0
  25. data/lib/devise-security/controllers/helpers.rb +59 -50
  26. data/lib/devise-security/hooks/password_expirable.rb +2 -0
  27. data/lib/devise-security/hooks/session_limitable.rb +21 -11
  28. data/lib/devise-security/models/database_authenticatable_patch.rb +15 -5
  29. data/lib/devise-security/models/password_archivable.rb +2 -2
  30. data/lib/devise-security/models/password_expirable.rb +5 -1
  31. data/lib/devise-security/models/secure_validatable.rb +56 -6
  32. data/lib/devise-security/models/session_limitable.rb +10 -1
  33. data/lib/devise-security/validators/password_complexity_validator.rb +53 -24
  34. data/lib/devise-security/version.rb +1 -1
  35. data/lib/devise-security.rb +13 -5
  36. data/lib/generators/devise_security/install_generator.rb +3 -3
  37. data/lib/generators/templates/{devise-security.rb → devise_security.rb} +6 -1
  38. data/test/controllers/test_paranoid_verification_code_controller.rb +68 -0
  39. data/test/controllers/test_password_expired_controller.rb +121 -19
  40. data/test/controllers/test_security_question_controller.rb +16 -40
  41. data/test/dummy/app/assets/config/manifest.js +3 -0
  42. data/test/dummy/app/controllers/overrides/paranoid_verification_code_controller.rb +7 -0
  43. data/test/dummy/app/controllers/overrides/password_expired_controller.rb +7 -0
  44. data/test/dummy/app/controllers/widgets_controller.rb +3 -0
  45. data/test/dummy/app/models/application_user_record.rb +2 -1
  46. data/test/dummy/app/models/mongoid/confirmable_fields.rb +2 -0
  47. data/test/dummy/app/models/mongoid/database_authenticable_fields.rb +4 -3
  48. data/test/dummy/app/models/mongoid/expirable_fields.rb +2 -0
  49. data/test/dummy/app/models/mongoid/lockable_fields.rb +2 -0
  50. data/test/dummy/app/models/mongoid/mappings.rb +4 -2
  51. data/test/dummy/app/models/mongoid/omniauthable_fields.rb +2 -0
  52. data/test/dummy/app/models/mongoid/paranoid_verification_fields.rb +2 -0
  53. data/test/dummy/app/models/mongoid/password_archivable_fields.rb +2 -0
  54. data/test/dummy/app/models/mongoid/password_expirable_fields.rb +2 -0
  55. data/test/dummy/app/models/mongoid/recoverable_fields.rb +2 -0
  56. data/test/dummy/app/models/mongoid/registerable_fields.rb +4 -2
  57. data/test/dummy/app/models/mongoid/rememberable_fields.rb +2 -0
  58. data/test/dummy/app/models/mongoid/secure_validatable_fields.rb +2 -0
  59. data/test/dummy/app/models/mongoid/security_questionable_fields.rb +2 -0
  60. data/test/dummy/app/models/mongoid/session_limitable_fields.rb +2 -0
  61. data/test/dummy/app/models/mongoid/timeoutable_fields.rb +2 -0
  62. data/test/dummy/app/models/mongoid/trackable_fields.rb +2 -0
  63. data/test/dummy/app/models/mongoid/validatable_fields.rb +2 -0
  64. data/test/dummy/app/models/paranoid_verification_user.rb +26 -0
  65. data/test/dummy/app/models/password_expired_user.rb +26 -0
  66. data/test/dummy/app/models/user.rb +1 -2
  67. data/test/dummy/app/models/widget.rb +1 -3
  68. data/test/dummy/app/mongoid/one_user.rb +5 -5
  69. data/test/dummy/app/mongoid/user_on_engine.rb +2 -2
  70. data/test/dummy/app/mongoid/user_on_main_app.rb +2 -2
  71. data/test/dummy/app/mongoid/user_with_validations.rb +3 -3
  72. data/test/dummy/app/mongoid/user_without_email.rb +3 -3
  73. data/test/dummy/config/application.rb +4 -4
  74. data/test/dummy/config/boot.rb +1 -1
  75. data/test/dummy/config/environment.rb +1 -1
  76. data/test/dummy/config/environments/test.rb +3 -13
  77. data/test/dummy/config/initializers/migration_class.rb +1 -8
  78. data/test/dummy/config/locales/en.yml +10 -0
  79. data/test/dummy/config/mongoid.yml +1 -1
  80. data/test/dummy/config/routes.rb +5 -3
  81. data/test/dummy/db/migrate/20120508165529_create_tables.rb +3 -3
  82. data/test/dummy/lib/shared_expirable_columns.rb +1 -0
  83. data/test/dummy/lib/shared_security_questions_fields.rb +1 -0
  84. data/test/dummy/lib/shared_user.rb +17 -6
  85. data/test/dummy/lib/shared_user_without_email.rb +2 -1
  86. data/test/dummy/lib/shared_user_without_omniauth.rb +12 -3
  87. data/test/dummy/lib/shared_verification_fields.rb +1 -0
  88. data/test/dummy/{app/models/.gitkeep → log/development.log} +0 -0
  89. data/test/dummy/log/test.log +101533 -0
  90. data/test/integration/test_password_expirable_workflow.rb +53 -0
  91. data/test/integration/test_session_limitable_workflow.rb +2 -0
  92. data/test/orm/active_record.rb +7 -4
  93. data/test/orm/mongoid.rb +2 -1
  94. data/test/support/integration_helpers.rb +15 -33
  95. data/test/support/mongoid.yml +1 -1
  96. data/test/test_compatibility.rb +2 -0
  97. data/test/test_complexity_validator.rb +250 -29
  98. data/test/test_database_authenticatable_patch.rb +146 -0
  99. data/test/test_helper.rb +12 -6
  100. data/test/test_install_generator.rb +12 -2
  101. data/test/test_paranoid_verification.rb +0 -1
  102. data/test/test_password_archivable.rb +34 -11
  103. data/test/test_password_expirable.rb +26 -26
  104. data/test/test_secure_validatable.rb +292 -50
  105. data/test/test_secure_validatable_overrides.rb +185 -0
  106. data/test/test_session_limitable.rb +27 -1
  107. data/test/tmp/config/initializers/devise_security.rb +49 -0
  108. data/test/tmp/config/locales/devise.security_extension.by.yml +49 -0
  109. data/test/tmp/config/locales/devise.security_extension.cs.yml +41 -0
  110. data/test/tmp/config/locales/devise.security_extension.de.yml +41 -0
  111. data/test/tmp/config/locales/devise.security_extension.en.yml +42 -0
  112. data/test/tmp/config/locales/devise.security_extension.es.yml +30 -0
  113. data/test/tmp/config/locales/devise.security_extension.fa.yml +41 -0
  114. data/test/tmp/config/locales/devise.security_extension.fr.yml +30 -0
  115. data/test/tmp/config/locales/devise.security_extension.hi.yml +42 -0
  116. data/test/tmp/config/locales/devise.security_extension.it.yml +41 -0
  117. data/test/tmp/config/locales/devise.security_extension.ja.yml +30 -0
  118. data/test/tmp/config/locales/devise.security_extension.nl.yml +41 -0
  119. data/test/tmp/config/locales/devise.security_extension.pt.yml +41 -0
  120. data/test/tmp/config/locales/devise.security_extension.ru.yml +49 -0
  121. data/test/tmp/config/locales/devise.security_extension.tr.yml +18 -0
  122. data/test/tmp/config/locales/devise.security_extension.uk.yml +49 -0
  123. data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +41 -0
  124. data/test/tmp/config/locales/devise.security_extension.zh_TW.yml +41 -0
  125. metadata +168 -132
  126. data/.codeclimate.yml +0 -63
  127. data/.document +0 -5
  128. data/.gitignore +0 -43
  129. data/.mdlrc +0 -1
  130. data/.rubocop.yml +0 -64
  131. data/.ruby-version +0 -1
  132. data/.travis.yml +0 -39
  133. data/Appraisals +0 -35
  134. data/Gemfile +0 -10
  135. data/Rakefile +0 -27
  136. data/devise-security.gemspec +0 -50
  137. data/gemfiles/rails_4.2_stable.gemfile +0 -16
  138. data/gemfiles/rails_5.0_stable.gemfile +0 -15
  139. data/gemfiles/rails_5.1_stable.gemfile +0 -15
  140. data/gemfiles/rails_5.2_stable.gemfile +0 -15
  141. data/gemfiles/rails_6.0_beta.gemfile +0 -15
  142. data/lib/devise-security/orm/active_record.rb +0 -20
  143. data/lib/devise-security/schema.rb +0 -66
  144. data/test/dummy/app/models/secure_user.rb +0 -9
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-security
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.2
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Scholl
@@ -9,53 +9,41 @@ authors:
9
9
  - Nate Bird
10
10
  - Dillon Welch
11
11
  - Kevin Olbrich
12
- autorequire:
12
+ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2019-05-21 00:00:00.000000000 Z
15
+ date: 2021-12-29 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
- name: rails
18
+ name: devise
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 4.2.0
24
- - - "<"
25
- - !ruby/object:Gem::Version
26
- version: '7.0'
23
+ version: 4.3.0
27
24
  type: :runtime
28
25
  prerelease: false
29
26
  version_requirements: !ruby/object:Gem::Requirement
30
27
  requirements:
31
28
  - - ">="
32
29
  - !ruby/object:Gem::Version
33
- version: 4.2.0
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '7.0'
30
+ version: 4.3.0
37
31
  - !ruby/object:Gem::Dependency
38
- name: devise
32
+ name: appraisal
39
33
  requirement: !ruby/object:Gem::Requirement
40
34
  requirements:
41
35
  - - ">="
42
36
  - !ruby/object:Gem::Version
43
- version: 4.3.0
44
- - - "<"
45
- - !ruby/object:Gem::Version
46
- version: '5.0'
47
- type: :runtime
37
+ version: '0'
38
+ type: :development
48
39
  prerelease: false
49
40
  version_requirements: !ruby/object:Gem::Requirement
50
41
  requirements:
51
42
  - - ">="
52
43
  - !ruby/object:Gem::Version
53
- version: 4.3.0
54
- - - "<"
55
- - !ruby/object:Gem::Version
56
- version: '5.0'
44
+ version: '0'
57
45
  - !ruby/object:Gem::Dependency
58
- name: appraisal
46
+ name: bundler
59
47
  requirement: !ruby/object:Gem::Requirement
60
48
  requirements:
61
49
  - - ">="
@@ -69,7 +57,7 @@ dependencies:
69
57
  - !ruby/object:Gem::Version
70
58
  version: '0'
71
59
  - !ruby/object:Gem::Dependency
72
- name: bundler
60
+ name: database_cleaner
73
61
  requirement: !ruby/object:Gem::Requirement
74
62
  requirements:
75
63
  - - ">="
@@ -83,7 +71,7 @@ dependencies:
83
71
  - !ruby/object:Gem::Version
84
72
  version: '0'
85
73
  - !ruby/object:Gem::Dependency
86
- name: coveralls
74
+ name: easy_captcha
87
75
  requirement: !ruby/object:Gem::Requirement
88
76
  requirements:
89
77
  - - ">="
@@ -97,7 +85,7 @@ dependencies:
97
85
  - !ruby/object:Gem::Version
98
86
  version: '0'
99
87
  - !ruby/object:Gem::Dependency
100
- name: database_cleaner
88
+ name: m
101
89
  requirement: !ruby/object:Gem::Requirement
102
90
  requirements:
103
91
  - - ">="
@@ -111,7 +99,7 @@ dependencies:
111
99
  - !ruby/object:Gem::Version
112
100
  version: '0'
113
101
  - !ruby/object:Gem::Dependency
114
- name: easy_captcha
102
+ name: minitest
115
103
  requirement: !ruby/object:Gem::Requirement
116
104
  requirements:
117
105
  - - ">="
@@ -125,7 +113,7 @@ dependencies:
125
113
  - !ruby/object:Gem::Version
126
114
  version: '0'
127
115
  - !ruby/object:Gem::Dependency
128
- name: m
116
+ name: omniauth
129
117
  requirement: !ruby/object:Gem::Requirement
130
118
  requirements:
131
119
  - - ">="
@@ -139,7 +127,7 @@ dependencies:
139
127
  - !ruby/object:Gem::Version
140
128
  version: '0'
141
129
  - !ruby/object:Gem::Dependency
142
- name: minitest
130
+ name: pry-byebug
143
131
  requirement: !ruby/object:Gem::Requirement
144
132
  requirements:
145
133
  - - ">="
@@ -153,7 +141,7 @@ dependencies:
153
141
  - !ruby/object:Gem::Version
154
142
  version: '0'
155
143
  - !ruby/object:Gem::Dependency
156
- name: omniauth
144
+ name: pry-rescue
157
145
  requirement: !ruby/object:Gem::Requirement
158
146
  requirements:
159
147
  - - ">="
@@ -167,7 +155,7 @@ dependencies:
167
155
  - !ruby/object:Gem::Version
168
156
  version: '0'
169
157
  - !ruby/object:Gem::Dependency
170
- name: pry-byebug
158
+ name: rails_email_validator
171
159
  requirement: !ruby/object:Gem::Requirement
172
160
  requirements:
173
161
  - - ">="
@@ -181,21 +169,21 @@ dependencies:
181
169
  - !ruby/object:Gem::Version
182
170
  version: '0'
183
171
  - !ruby/object:Gem::Dependency
184
- name: pry-rescue
172
+ name: rubocop
185
173
  requirement: !ruby/object:Gem::Requirement
186
174
  requirements:
187
- - - ">="
175
+ - - "~>"
188
176
  - !ruby/object:Gem::Version
189
- version: '0'
177
+ version: 0.83.0
190
178
  type: :development
191
179
  prerelease: false
192
180
  version_requirements: !ruby/object:Gem::Requirement
193
181
  requirements:
194
- - - ">="
182
+ - - "~>"
195
183
  - !ruby/object:Gem::Version
196
- version: '0'
184
+ version: 0.83.0
197
185
  - !ruby/object:Gem::Dependency
198
- name: rails_email_validator
186
+ name: rubocop-rails
199
187
  requirement: !ruby/object:Gem::Requirement
200
188
  requirements:
201
189
  - - ">="
@@ -209,21 +197,21 @@ dependencies:
209
197
  - !ruby/object:Gem::Version
210
198
  version: '0'
211
199
  - !ruby/object:Gem::Dependency
212
- name: rubocop
200
+ name: simplecov-lcov
213
201
  requirement: !ruby/object:Gem::Requirement
214
202
  requirements:
215
- - - "~>"
203
+ - - ">="
216
204
  - !ruby/object:Gem::Version
217
- version: 0.66.0
205
+ version: '0'
218
206
  type: :development
219
207
  prerelease: false
220
208
  version_requirements: !ruby/object:Gem::Requirement
221
209
  requirements:
222
- - - "~>"
210
+ - - ">="
223
211
  - !ruby/object:Gem::Version
224
- version: 0.66.0
212
+ version: '0'
225
213
  - !ruby/object:Gem::Dependency
226
- name: sqlite3
214
+ name: solargraph
227
215
  requirement: !ruby/object:Gem::Requirement
228
216
  requirements:
229
217
  - - ">="
@@ -237,7 +225,7 @@ dependencies:
237
225
  - !ruby/object:Gem::Version
238
226
  version: '0'
239
227
  - !ruby/object:Gem::Dependency
240
- name: wwtd
228
+ name: solargraph-arc
241
229
  requirement: !ruby/object:Gem::Requirement
242
230
  requirements:
243
231
  - - ">="
@@ -256,35 +244,30 @@ executables: []
256
244
  extensions: []
257
245
  extra_rdoc_files: []
258
246
  files:
259
- - ".codeclimate.yml"
260
- - ".document"
261
- - ".gitignore"
262
- - ".mdlrc"
263
- - ".rubocop.yml"
264
- - ".ruby-version"
265
- - ".travis.yml"
266
- - Appraisals
267
- - Gemfile
268
247
  - LICENSE.txt
269
248
  - README.md
270
- - Rakefile
271
249
  - app/controllers/devise/paranoid_verification_code_controller.rb
272
250
  - app/controllers/devise/password_expired_controller.rb
273
251
  - app/views/devise/paranoid_verification_code/show.html.erb
274
252
  - app/views/devise/password_expired/show.html.erb
253
+ - config/locales/bg.yml
254
+ - config/locales/by.yml
255
+ - config/locales/cs.yml
275
256
  - config/locales/de.yml
276
257
  - config/locales/en.yml
277
258
  - config/locales/es.yml
259
+ - config/locales/fa.yml
278
260
  - config/locales/fr.yml
261
+ - config/locales/hi.yml
279
262
  - config/locales/it.yml
280
263
  - config/locales/ja.yml
264
+ - config/locales/nl.yml
265
+ - config/locales/pt.yml
266
+ - config/locales/ru.yml
281
267
  - config/locales/tr.yml
282
- - devise-security.gemspec
283
- - gemfiles/rails_4.2_stable.gemfile
284
- - gemfiles/rails_5.0_stable.gemfile
285
- - gemfiles/rails_5.1_stable.gemfile
286
- - gemfiles/rails_5.2_stable.gemfile
287
- - gemfiles/rails_6.0_beta.gemfile
268
+ - config/locales/uk.yml
269
+ - config/locales/zh_CN.yml
270
+ - config/locales/zh_TW.yml
288
271
  - lib/devise-security.rb
289
272
  - lib/devise-security/controllers/helpers.rb
290
273
  - lib/devise-security/hooks/expirable.rb
@@ -304,7 +287,6 @@ files:
304
287
  - lib/devise-security/models/secure_validatable.rb
305
288
  - lib/devise-security/models/security_questionable.rb
306
289
  - lib/devise-security/models/session_limitable.rb
307
- - lib/devise-security/orm/active_record.rb
308
290
  - lib/devise-security/orm/mongoid.rb
309
291
  - lib/devise-security/patches.rb
310
292
  - lib/devise-security/patches/confirmations_controller_captcha.rb
@@ -319,21 +301,23 @@ files:
319
301
  - lib/devise-security/patches/unlocks_controller_security_question.rb
320
302
  - lib/devise-security/rails.rb
321
303
  - lib/devise-security/routes.rb
322
- - lib/devise-security/schema.rb
323
304
  - lib/devise-security/validators/password_complexity_validator.rb
324
305
  - lib/devise-security/version.rb
325
306
  - lib/generators/devise_security/install_generator.rb
326
- - lib/generators/templates/devise-security.rb
307
+ - lib/generators/templates/devise_security.rb
327
308
  - test/controllers/test_captcha_controller.rb
309
+ - test/controllers/test_paranoid_verification_code_controller.rb
328
310
  - test/controllers/test_password_expired_controller.rb
329
311
  - test/controllers/test_security_question_controller.rb
330
312
  - test/dummy/Rakefile
313
+ - test/dummy/app/assets/config/manifest.js
331
314
  - test/dummy/app/controllers/application_controller.rb
332
315
  - test/dummy/app/controllers/captcha/sessions_controller.rb
333
316
  - test/dummy/app/controllers/foos_controller.rb
317
+ - test/dummy/app/controllers/overrides/paranoid_verification_code_controller.rb
318
+ - test/dummy/app/controllers/overrides/password_expired_controller.rb
334
319
  - test/dummy/app/controllers/security_question/unlocks_controller.rb
335
320
  - test/dummy/app/controllers/widgets_controller.rb
336
- - test/dummy/app/models/.gitkeep
337
321
  - test/dummy/app/models/application_record.rb
338
322
  - test/dummy/app/models/application_user_record.rb
339
323
  - test/dummy/app/models/captcha_user.rb
@@ -355,7 +339,8 @@ files:
355
339
  - test/dummy/app/models/mongoid/timeoutable_fields.rb
356
340
  - test/dummy/app/models/mongoid/trackable_fields.rb
357
341
  - test/dummy/app/models/mongoid/validatable_fields.rb
358
- - test/dummy/app/models/secure_user.rb
342
+ - test/dummy/app/models/paranoid_verification_user.rb
343
+ - test/dummy/app/models/password_expired_user.rb
359
344
  - test/dummy/app/models/security_question_user.rb
360
345
  - test/dummy/app/models/user.rb
361
346
  - test/dummy/app/models/widget.rb
@@ -375,6 +360,7 @@ files:
375
360
  - test/dummy/config/environments/test.rb
376
361
  - test/dummy/config/initializers/devise.rb
377
362
  - test/dummy/config/initializers/migration_class.rb
363
+ - test/dummy/config/locales/en.yml
378
364
  - test/dummy/config/mongoid.yml
379
365
  - test/dummy/config/routes.rb
380
366
  - test/dummy/config/secrets.yml
@@ -394,6 +380,9 @@ files:
394
380
  - test/dummy/lib/shared_user_without_email.rb
395
381
  - test/dummy/lib/shared_user_without_omniauth.rb
396
382
  - test/dummy/lib/shared_verification_fields.rb
383
+ - test/dummy/log/development.log
384
+ - test/dummy/log/test.log
385
+ - test/integration/test_password_expirable_workflow.rb
397
386
  - test/integration/test_session_limitable_workflow.rb
398
387
  - test/orm/active_record.rb
399
388
  - test/orm/mongoid.rb
@@ -401,18 +390,38 @@ files:
401
390
  - test/support/mongoid.yml
402
391
  - test/test_compatibility.rb
403
392
  - test/test_complexity_validator.rb
393
+ - test/test_database_authenticatable_patch.rb
404
394
  - test/test_helper.rb
405
395
  - test/test_install_generator.rb
406
396
  - test/test_paranoid_verification.rb
407
397
  - test/test_password_archivable.rb
408
398
  - test/test_password_expirable.rb
409
399
  - test/test_secure_validatable.rb
400
+ - test/test_secure_validatable_overrides.rb
410
401
  - test/test_session_limitable.rb
402
+ - test/tmp/config/initializers/devise_security.rb
403
+ - test/tmp/config/locales/devise.security_extension.by.yml
404
+ - test/tmp/config/locales/devise.security_extension.cs.yml
405
+ - test/tmp/config/locales/devise.security_extension.de.yml
406
+ - test/tmp/config/locales/devise.security_extension.en.yml
407
+ - test/tmp/config/locales/devise.security_extension.es.yml
408
+ - test/tmp/config/locales/devise.security_extension.fa.yml
409
+ - test/tmp/config/locales/devise.security_extension.fr.yml
410
+ - test/tmp/config/locales/devise.security_extension.hi.yml
411
+ - test/tmp/config/locales/devise.security_extension.it.yml
412
+ - test/tmp/config/locales/devise.security_extension.ja.yml
413
+ - test/tmp/config/locales/devise.security_extension.nl.yml
414
+ - test/tmp/config/locales/devise.security_extension.pt.yml
415
+ - test/tmp/config/locales/devise.security_extension.ru.yml
416
+ - test/tmp/config/locales/devise.security_extension.tr.yml
417
+ - test/tmp/config/locales/devise.security_extension.uk.yml
418
+ - test/tmp/config/locales/devise.security_extension.zh_CN.yml
419
+ - test/tmp/config/locales/devise.security_extension.zh_TW.yml
411
420
  homepage: https://github.com/devise-security/devise-security
412
421
  licenses:
413
422
  - MIT
414
423
  metadata: {}
415
- post_install_message:
424
+ post_install_message:
416
425
  rdoc_options: []
417
426
  require_paths:
418
427
  - lib
@@ -427,93 +436,120 @@ required_rubygems_version: !ruby/object:Gem::Requirement
427
436
  - !ruby/object:Gem::Version
428
437
  version: '0'
429
438
  requirements: []
430
- rubyforge_project:
431
- rubygems_version: 2.7.9
432
- signing_key:
439
+ rubygems_version: 3.3.0
440
+ signing_key:
433
441
  specification_version: 4
434
442
  summary: Security extension for devise
435
443
  test_files:
436
- - test/controllers/test_captcha_controller.rb
437
- - test/controllers/test_password_expired_controller.rb
438
- - test/controllers/test_security_question_controller.rb
439
- - test/dummy/Rakefile
440
- - test/dummy/app/controllers/application_controller.rb
441
- - test/dummy/app/controllers/captcha/sessions_controller.rb
442
- - test/dummy/app/controllers/foos_controller.rb
443
- - test/dummy/app/controllers/security_question/unlocks_controller.rb
444
- - test/dummy/app/controllers/widgets_controller.rb
445
- - test/dummy/app/models/.gitkeep
446
- - test/dummy/app/models/application_record.rb
447
- - test/dummy/app/models/application_user_record.rb
448
- - test/dummy/app/models/captcha_user.rb
449
- - test/dummy/app/models/mongoid/confirmable_fields.rb
450
- - test/dummy/app/models/mongoid/database_authenticable_fields.rb
451
- - test/dummy/app/models/mongoid/expirable_fields.rb
452
- - test/dummy/app/models/mongoid/lockable_fields.rb
444
+ - test/test_password_archivable.rb
445
+ - test/dummy/app/mongoid/shim.rb
446
+ - test/dummy/app/mongoid/user_on_main_app.rb
447
+ - test/dummy/app/mongoid/user_on_engine.rb
448
+ - test/dummy/app/mongoid/one_user.rb
449
+ - test/dummy/app/mongoid/admin.rb
450
+ - test/dummy/app/mongoid/user_with_validations.rb
451
+ - test/dummy/app/mongoid/user_without_email.rb
452
+ - test/dummy/app/models/mongoid/password_archivable_fields.rb
453
+ - test/dummy/app/models/mongoid/registerable_fields.rb
453
454
  - test/dummy/app/models/mongoid/mappings.rb
454
- - test/dummy/app/models/mongoid/omniauthable_fields.rb
455
+ - test/dummy/app/models/mongoid/session_limitable_fields.rb
456
+ - test/dummy/app/models/mongoid/timeoutable_fields.rb
455
457
  - test/dummy/app/models/mongoid/paranoid_verification_fields.rb
456
- - test/dummy/app/models/mongoid/password_archivable_fields.rb
458
+ - test/dummy/app/models/mongoid/confirmable_fields.rb
457
459
  - test/dummy/app/models/mongoid/password_expirable_fields.rb
458
- - test/dummy/app/models/mongoid/recoverable_fields.rb
459
- - test/dummy/app/models/mongoid/registerable_fields.rb
460
- - test/dummy/app/models/mongoid/rememberable_fields.rb
460
+ - test/dummy/app/models/mongoid/expirable_fields.rb
461
+ - test/dummy/app/models/mongoid/database_authenticable_fields.rb
461
462
  - test/dummy/app/models/mongoid/secure_validatable_fields.rb
463
+ - test/dummy/app/models/mongoid/rememberable_fields.rb
464
+ - test/dummy/app/models/mongoid/lockable_fields.rb
462
465
  - test/dummy/app/models/mongoid/security_questionable_fields.rb
463
- - test/dummy/app/models/mongoid/session_limitable_fields.rb
464
- - test/dummy/app/models/mongoid/timeoutable_fields.rb
465
- - test/dummy/app/models/mongoid/trackable_fields.rb
466
466
  - test/dummy/app/models/mongoid/validatable_fields.rb
467
- - test/dummy/app/models/secure_user.rb
467
+ - test/dummy/app/models/mongoid/trackable_fields.rb
468
+ - test/dummy/app/models/mongoid/recoverable_fields.rb
469
+ - test/dummy/app/models/mongoid/omniauthable_fields.rb
468
470
  - test/dummy/app/models/security_question_user.rb
469
- - test/dummy/app/models/user.rb
471
+ - test/dummy/app/models/application_user_record.rb
470
472
  - test/dummy/app/models/widget.rb
471
- - test/dummy/app/mongoid/admin.rb
472
- - test/dummy/app/mongoid/one_user.rb
473
- - test/dummy/app/mongoid/shim.rb
474
- - test/dummy/app/mongoid/user_on_engine.rb
475
- - test/dummy/app/mongoid/user_on_main_app.rb
476
- - test/dummy/app/mongoid/user_with_validations.rb
477
- - test/dummy/app/mongoid/user_without_email.rb
473
+ - test/dummy/app/models/password_expired_user.rb
474
+ - test/dummy/app/models/paranoid_verification_user.rb
475
+ - test/dummy/app/models/application_record.rb
476
+ - test/dummy/app/models/captcha_user.rb
477
+ - test/dummy/app/models/user.rb
478
+ - test/dummy/app/controllers/overrides/password_expired_controller.rb
479
+ - test/dummy/app/controllers/overrides/paranoid_verification_code_controller.rb
480
+ - test/dummy/app/controllers/application_controller.rb
481
+ - test/dummy/app/controllers/captcha/sessions_controller.rb
482
+ - test/dummy/app/controllers/foos_controller.rb
483
+ - test/dummy/app/controllers/widgets_controller.rb
484
+ - test/dummy/app/controllers/security_question/unlocks_controller.rb
478
485
  - test/dummy/app/views/foos/index.html.erb
479
- - test/dummy/config.ru
486
+ - test/dummy/app/assets/config/manifest.js
487
+ - test/dummy/config/secrets.yml
488
+ - test/dummy/config/routes.rb
489
+ - test/dummy/config/mongoid.yml
490
+ - test/dummy/config/locales/en.yml
491
+ - test/dummy/config/environments/test.rb
492
+ - test/dummy/config/environment.rb
480
493
  - test/dummy/config/application.rb
481
- - test/dummy/config/boot.rb
482
494
  - test/dummy/config/database.yml
483
- - test/dummy/config/environment.rb
484
- - test/dummy/config/environments/test.rb
485
- - test/dummy/config/initializers/devise.rb
495
+ - test/dummy/config/boot.rb
486
496
  - test/dummy/config/initializers/migration_class.rb
487
- - test/dummy/config/mongoid.yml
488
- - test/dummy/config/routes.rb
489
- - test/dummy/config/secrets.yml
497
+ - test/dummy/config/initializers/devise.rb
498
+ - test/dummy/config.ru
499
+ - test/dummy/Rakefile
500
+ - test/dummy/lib/shared_verification_fields.rb
501
+ - test/dummy/lib/shared_user.rb
502
+ - test/dummy/lib/shared_user_without_email.rb
503
+ - test/dummy/lib/shared_user_without_omniauth.rb
504
+ - test/dummy/lib/shared_user_with_password_verification.rb
505
+ - test/dummy/lib/shared_expirable_columns.rb
506
+ - test/dummy/lib/shared_security_questions_fields.rb
490
507
  - test/dummy/db/migrate/20120508165529_create_tables.rb
491
508
  - test/dummy/db/migrate/20150402165590_add_verification_columns.rb
492
- - test/dummy/db/migrate/20150407162345_add_verification_attempt_column.rb
509
+ - test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
510
+ - test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb
493
511
  - test/dummy/db/migrate/20160320162345_add_security_questions_fields.rb
512
+ - test/dummy/db/migrate/20180319114023_add_widget.rb
494
513
  - test/dummy/db/migrate/20180318103603_add_expireable_columns.rb
514
+ - test/dummy/db/migrate/20150407162345_add_verification_attempt_column.rb
495
515
  - test/dummy/db/migrate/20180318105329_add_confirmable_columns.rb
496
- - test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb
497
- - test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
498
- - test/dummy/db/migrate/20180319114023_add_widget.rb
499
- - test/dummy/lib/shared_expirable_columns.rb
500
- - test/dummy/lib/shared_security_questions_fields.rb
501
- - test/dummy/lib/shared_user.rb
502
- - test/dummy/lib/shared_user_with_password_verification.rb
503
- - test/dummy/lib/shared_user_without_email.rb
504
- - test/dummy/lib/shared_user_without_omniauth.rb
505
- - test/dummy/lib/shared_verification_fields.rb
506
- - test/integration/test_session_limitable_workflow.rb
507
- - test/orm/active_record.rb
508
- - test/orm/mongoid.rb
509
- - test/support/integration_helpers.rb
510
- - test/support/mongoid.yml
511
- - test/test_compatibility.rb
512
- - test/test_complexity_validator.rb
513
- - test/test_helper.rb
516
+ - test/dummy/log/test.log
517
+ - test/dummy/log/development.log
514
518
  - test/test_install_generator.rb
519
+ - test/test_secure_validatable_overrides.rb
515
520
  - test/test_paranoid_verification.rb
516
- - test/test_password_archivable.rb
517
- - test/test_password_expirable.rb
521
+ - test/integration/test_session_limitable_workflow.rb
522
+ - test/integration/test_password_expirable_workflow.rb
523
+ - test/test_database_authenticatable_patch.rb
518
524
  - test/test_secure_validatable.rb
519
525
  - test/test_session_limitable.rb
526
+ - test/support/mongoid.yml
527
+ - test/support/integration_helpers.rb
528
+ - test/test_helper.rb
529
+ - test/orm/mongoid.rb
530
+ - test/orm/active_record.rb
531
+ - test/test_compatibility.rb
532
+ - test/test_password_expirable.rb
533
+ - test/controllers/test_security_question_controller.rb
534
+ - test/controllers/test_paranoid_verification_code_controller.rb
535
+ - test/controllers/test_captcha_controller.rb
536
+ - test/controllers/test_password_expired_controller.rb
537
+ - test/tmp/config/locales/devise.security_extension.by.yml
538
+ - test/tmp/config/locales/devise.security_extension.nl.yml
539
+ - test/tmp/config/locales/devise.security_extension.tr.yml
540
+ - test/tmp/config/locales/devise.security_extension.ru.yml
541
+ - test/tmp/config/locales/devise.security_extension.fr.yml
542
+ - test/tmp/config/locales/devise.security_extension.fa.yml
543
+ - test/tmp/config/locales/devise.security_extension.hi.yml
544
+ - test/tmp/config/locales/devise.security_extension.ja.yml
545
+ - test/tmp/config/locales/devise.security_extension.en.yml
546
+ - test/tmp/config/locales/devise.security_extension.pt.yml
547
+ - test/tmp/config/locales/devise.security_extension.it.yml
548
+ - test/tmp/config/locales/devise.security_extension.de.yml
549
+ - test/tmp/config/locales/devise.security_extension.es.yml
550
+ - test/tmp/config/locales/devise.security_extension.zh_CN.yml
551
+ - test/tmp/config/locales/devise.security_extension.uk.yml
552
+ - test/tmp/config/locales/devise.security_extension.zh_TW.yml
553
+ - test/tmp/config/locales/devise.security_extension.cs.yml
554
+ - test/tmp/config/initializers/devise_security.rb
555
+ - test/test_complexity_validator.rb
data/.codeclimate.yml DELETED
@@ -1,63 +0,0 @@
1
- version: "2"
2
- checks:
3
- argument-count:
4
- enabled: true
5
- config:
6
- threshold: 4
7
- complex-logic:
8
- enabled: true
9
- config:
10
- threshold: 4
11
- file-lines:
12
- enabled: true
13
- config:
14
- threshold: 250
15
- method-complexity:
16
- enabled: true
17
- config:
18
- threshold: 5
19
- method-count:
20
- enabled: true
21
- config:
22
- threshold: 20
23
- method-lines:
24
- enabled: true
25
- config:
26
- threshold: 25
27
- nested-control-flow:
28
- enabled: true
29
- config:
30
- threshold: 4
31
- return-statements:
32
- enabled: true
33
- config:
34
- threshold: 4
35
- similar-code:
36
- enabled: true
37
- config:
38
- threshold: #language-specific defaults. overrides affect all languages.
39
- identical-code:
40
- enabled: true
41
- config:
42
- threshold: #language-specific defaults. overrides affect all languages.
43
- plugins:
44
- rubocop:
45
- enabled: true
46
- channel: rubocop-0-66
47
- markdownlint:
48
- enabled: true
49
- brakeman:
50
- enabled: true
51
- exclude_patterns:
52
- - "config/"
53
- - "db/"
54
- - "dist/"
55
- - "features/"
56
- - "**/node_modules/"
57
- - "script/"
58
- - "**/spec/"
59
- - "**/test/"
60
- - "**/tests/"
61
- - "**/vendor/"
62
- - "**/*.d.ts"
63
- - "gemfiles/"
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/.gitignore DELETED
@@ -1,43 +0,0 @@
1
- test/rails_app/log/*
2
- test/rails_app/tmp/*
3
- *~
4
- coverage/*
5
- *.sqlite3
6
- .bundle
7
- rdoc/*
8
- pkg
9
- # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
10
- #
11
- # * Create a file at ~/.gitignore
12
- # * Include files you want ignored
13
- # * Run: git config --global core.excludesfile ~/.gitignore
14
- #
15
- # After doing this, these files will be ignored in all your git projects,
16
- # saving you from having to 'pollute' every project you touch with them
17
- #
18
- # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
19
- #
20
- # For MacOS:
21
- #
22
- #.DS_Store
23
- #
24
- # For TextMate
25
- #*.tmproj
26
- #tmtags
27
- #
28
- # For emacs:
29
- #*~
30
- #\#*
31
- #.\#*
32
- #
33
- # For vim:
34
- #*.swp
35
-
36
- log
37
- test/tmp/*
38
- *.gem
39
- Gemfile.lock
40
- *.lock
41
- bin/*
42
- .yardoc
43
- .idea
data/.mdlrc DELETED
@@ -1 +0,0 @@
1
- rules "~MD013"