devise-security 0.14.2 → 0.17.0

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