devise-security 0.16.0 → 0.18.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 (140) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +3 -1
  3. data/README.md +18 -7
  4. data/app/controllers/devise/paranoid_verification_code_controller.rb +26 -12
  5. data/app/controllers/devise/password_expired_controller.rb +22 -5
  6. data/config/locales/bg.yml +42 -0
  7. data/config/locales/by.yml +1 -0
  8. data/config/locales/cs.yml +5 -0
  9. data/config/locales/de.yml +3 -0
  10. data/config/locales/en.yml +2 -1
  11. data/config/locales/es.yml +12 -0
  12. data/config/locales/fa.yml +1 -0
  13. data/config/locales/fr.yml +14 -2
  14. data/config/locales/hi.yml +1 -0
  15. data/config/locales/it.yml +1 -0
  16. data/config/locales/ja.yml +12 -0
  17. data/config/locales/nl.yml +1 -0
  18. data/config/locales/pt.yml +1 -0
  19. data/config/locales/ru.yml +1 -0
  20. data/config/locales/tr.yml +25 -1
  21. data/config/locales/uk.yml +1 -0
  22. data/config/locales/zh_CN.yml +1 -0
  23. data/config/locales/zh_TW.yml +1 -0
  24. data/lib/devise-security/controllers/helpers.rb +23 -11
  25. data/lib/devise-security/hooks/expirable.rb +3 -3
  26. data/lib/devise-security/hooks/paranoid_verification.rb +1 -3
  27. data/lib/devise-security/hooks/password_expirable.rb +1 -3
  28. data/lib/devise-security/hooks/session_limitable.rb +4 -4
  29. data/lib/devise-security/models/compatibility/active_record_patch.rb +4 -3
  30. data/lib/devise-security/models/compatibility/mongoid_patch.rb +3 -2
  31. data/lib/devise-security/models/database_authenticatable_patch.rb +18 -10
  32. data/lib/devise-security/models/expirable.rb +6 -5
  33. data/lib/devise-security/models/paranoid_verification.rb +2 -2
  34. data/lib/devise-security/models/password_archivable.rb +3 -3
  35. data/lib/devise-security/models/secure_validatable.rb +57 -20
  36. data/lib/devise-security/orm/mongoid.rb +1 -1
  37. data/lib/devise-security/patches.rb +14 -8
  38. data/lib/devise-security/routes.rb +2 -3
  39. data/lib/devise-security/validators/password_complexity_validator.rb +53 -26
  40. data/lib/devise-security/version.rb +1 -1
  41. data/lib/devise-security.rb +9 -3
  42. data/lib/generators/devise_security/install_generator.rb +3 -5
  43. data/lib/generators/templates/devise_security.rb +6 -1
  44. data/test/controllers/test_paranoid_verification_code_controller.rb +133 -0
  45. data/test/controllers/test_password_expired_controller.rb +87 -33
  46. data/test/controllers/test_security_question_controller.rb +25 -19
  47. data/test/dummy/app/controllers/overrides/paranoid_verification_code_controller.rb +7 -0
  48. data/test/dummy/app/controllers/overrides/password_expired_controller.rb +17 -0
  49. data/test/dummy/app/controllers/widgets_controller.rb +3 -0
  50. data/test/dummy/app/models/application_user_record.rb +2 -1
  51. data/test/dummy/app/models/mongoid/confirmable_fields.rb +2 -0
  52. data/test/dummy/app/models/mongoid/database_authenticable_fields.rb +4 -3
  53. data/test/dummy/app/models/mongoid/expirable_fields.rb +2 -0
  54. data/test/dummy/app/models/mongoid/lockable_fields.rb +2 -0
  55. data/test/dummy/app/models/mongoid/mappings.rb +4 -2
  56. data/test/dummy/app/models/mongoid/omniauthable_fields.rb +2 -0
  57. data/test/dummy/app/models/mongoid/paranoid_verification_fields.rb +2 -0
  58. data/test/dummy/app/models/mongoid/password_archivable_fields.rb +2 -0
  59. data/test/dummy/app/models/mongoid/password_expirable_fields.rb +2 -0
  60. data/test/dummy/app/models/mongoid/recoverable_fields.rb +2 -0
  61. data/test/dummy/app/models/mongoid/registerable_fields.rb +4 -2
  62. data/test/dummy/app/models/mongoid/rememberable_fields.rb +2 -0
  63. data/test/dummy/app/models/mongoid/secure_validatable_fields.rb +2 -0
  64. data/test/dummy/app/models/mongoid/security_questionable_fields.rb +2 -0
  65. data/test/dummy/app/models/mongoid/session_limitable_fields.rb +2 -0
  66. data/test/dummy/app/models/mongoid/timeoutable_fields.rb +2 -0
  67. data/test/dummy/app/models/mongoid/trackable_fields.rb +2 -0
  68. data/test/dummy/app/models/mongoid/validatable_fields.rb +2 -0
  69. data/test/dummy/app/models/paranoid_verification_user.rb +26 -0
  70. data/test/dummy/app/models/password_expired_user.rb +26 -0
  71. data/test/dummy/app/models/user.rb +5 -5
  72. data/test/dummy/app/models/widget.rb +1 -3
  73. data/test/dummy/app/mongoid/one_user.rb +5 -5
  74. data/test/dummy/app/mongoid/user_on_engine.rb +2 -2
  75. data/test/dummy/app/mongoid/user_on_main_app.rb +2 -2
  76. data/test/dummy/app/mongoid/user_with_validations.rb +3 -3
  77. data/test/dummy/app/mongoid/user_without_email.rb +7 -4
  78. data/test/dummy/config/application.rb +3 -7
  79. data/test/dummy/config/boot.rb +1 -1
  80. data/test/dummy/config/environment.rb +1 -1
  81. data/test/dummy/config/environments/test.rb +1 -0
  82. data/test/dummy/config/initializers/devise.rb +1 -5
  83. data/test/dummy/config/locales/en.yml +10 -0
  84. data/test/dummy/config/routes.rb +3 -1
  85. data/test/dummy/config.ru +1 -1
  86. data/test/dummy/db/migrate/20120508165529_create_tables.rb +5 -5
  87. data/test/dummy/lib/shared_expirable_columns.rb +1 -0
  88. data/test/dummy/lib/shared_security_questions_fields.rb +1 -0
  89. data/test/dummy/lib/shared_user.rb +17 -6
  90. data/test/dummy/lib/shared_user_without_omniauth.rb +12 -3
  91. data/test/dummy/lib/shared_verification_fields.rb +1 -0
  92. data/test/dummy/log/test.log +39637 -16086
  93. data/test/i18n_test.rb +22 -0
  94. data/test/integration/test_paranoid_verification_code_workflow.rb +53 -0
  95. data/test/integration/test_password_expirable_workflow.rb +2 -2
  96. data/test/integration/test_session_limitable_workflow.rb +5 -3
  97. data/test/orm/active_record.rb +7 -7
  98. data/test/support/integration_helpers.rb +18 -12
  99. data/test/test_compatibility.rb +2 -0
  100. data/test/test_complexity_validator.rb +247 -37
  101. data/test/test_database_authenticatable_patch.rb +146 -0
  102. data/test/test_helper.rb +7 -8
  103. data/test/test_install_generator.rb +1 -1
  104. data/test/test_paranoid_verification.rb +8 -9
  105. data/test/test_password_archivable.rb +34 -11
  106. data/test/test_password_expirable.rb +27 -27
  107. data/test/test_secure_validatable.rb +265 -107
  108. data/test/test_secure_validatable_overrides.rb +185 -0
  109. data/test/test_session_limitable.rb +9 -9
  110. data/test/tmp/config/initializers/{devise-security.rb → devise_security.rb} +6 -1
  111. data/test/tmp/config/locales/devise.security_extension.by.yml +1 -0
  112. data/test/tmp/config/locales/devise.security_extension.cs.yml +5 -0
  113. data/test/tmp/config/locales/devise.security_extension.de.yml +3 -0
  114. data/test/tmp/config/locales/devise.security_extension.en.yml +2 -1
  115. data/test/tmp/config/locales/devise.security_extension.es.yml +12 -0
  116. data/test/tmp/config/locales/devise.security_extension.fa.yml +1 -0
  117. data/test/tmp/config/locales/devise.security_extension.fr.yml +14 -2
  118. data/test/tmp/config/locales/devise.security_extension.hi.yml +21 -20
  119. data/test/tmp/config/locales/devise.security_extension.it.yml +1 -0
  120. data/test/tmp/config/locales/devise.security_extension.ja.yml +12 -0
  121. data/test/tmp/config/locales/devise.security_extension.nl.yml +1 -0
  122. data/test/tmp/config/locales/devise.security_extension.pt.yml +1 -0
  123. data/test/tmp/config/locales/devise.security_extension.ru.yml +1 -0
  124. data/test/tmp/config/locales/devise.security_extension.tr.yml +25 -1
  125. data/test/tmp/config/locales/devise.security_extension.uk.yml +1 -0
  126. data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +1 -0
  127. data/test/tmp/config/locales/devise.security_extension.zh_TW.yml +1 -0
  128. metadata +82 -41
  129. data/lib/devise-security/patches/confirmations_controller_captcha.rb +0 -23
  130. data/lib/devise-security/patches/confirmations_controller_security_question.rb +0 -26
  131. data/lib/devise-security/patches/passwords_controller_captcha.rb +0 -22
  132. data/lib/devise-security/patches/passwords_controller_security_question.rb +0 -25
  133. data/lib/devise-security/patches/registrations_controller_captcha.rb +0 -35
  134. data/lib/devise-security/patches/sessions_controller_captcha.rb +0 -26
  135. data/lib/devise-security/patches/unlocks_controller_captcha.rb +0 -22
  136. data/lib/devise-security/patches/unlocks_controller_security_question.rb +0 -25
  137. data/test/dummy/app/controllers/foos_controller.rb +0 -0
  138. data/test/dummy/app/models/secure_user.rb +0 -9
  139. data/test/dummy/lib/shared_user_without_email.rb +0 -28
  140. data/test/dummy/log/development.log +0 -883
@@ -31,6 +31,7 @@ by:
31
31
  paranoid_verify:
32
32
  code_required: 'Калі ласка, увядзіце код, атрыманы ад нашай каманды падтрымкі'
33
33
  paranoid_verification_code:
34
+ updated: Код спраўджання прыняты
34
35
  show:
35
36
  submit_verification_code: 'Увод кода пацверджання'
36
37
  verification_code: 'Код пацверджання'
@@ -7,15 +7,19 @@ cs:
7
7
  password_complexity:
8
8
  digit:
9
9
  one: musí obsahovat alespoň jednu číslici
10
+ few: musí obsahovat alespoň %{count} číslice
10
11
  other: musí obsahovat alespoň %{count} číslice
11
12
  lower:
12
13
  one: musí obsahovat alespoň jedno malé písmeno
14
+ few: musí obsahovat alespoň %{count} malé písmena
13
15
  other: musí obsahovat alespoň %{count} malé písmena
14
16
  symbol:
15
17
  one: musí obsahovat alespoň jedno interpunkční znaménko nebo symbol
18
+ few: musí obsahovat alespoň %{count} interpunkční znaménka nebo symboly
16
19
  other: musí obsahovat alespoň %{count} interpunkční znaménka nebo symboly
17
20
  upper:
18
21
  one: musí obsahovat alespoň jedno velké písmeno
22
+ few: musí obsahovat alespoň %{count} velké písmena
19
23
  other: musí obsahovat alespoň %{count} velké písmena
20
24
  devise:
21
25
  invalid_captcha: Chybná captcha.
@@ -23,6 +27,7 @@ cs:
23
27
  paranoid_verify:
24
28
  code_required: Zadejte kód, který poskytla naše podpora
25
29
  paranoid_verification_code:
30
+ updated: Ověřovací kód přijat
26
31
  show:
27
32
  submit_verification_code: Odeslat ověřovací kód
28
33
  verification_code: Ověřovací kód
@@ -19,8 +19,11 @@ de:
19
19
  other: muss mindestens %{count} Großbuchstaben enthalten
20
20
  devise:
21
21
  invalid_captcha: 'Die Captcha-Eingabe ist nicht gültig.'
22
+ invalid_security_question: 'Die Antwort auf die Sicherheitsfrage war ungültig.'
22
23
  paranoid_verify:
23
24
  code_required: 'Bitte geben Sie den Code ein, den unser Support-Team zur Verfügung gestellt hat.'
25
+ paranoid_verification_code:
26
+ updated: Bestätigungscode akzeptiert
24
27
  show:
25
28
  submit_verification_code: Bestätigungscode eingeben
26
29
  verification_code: Bestätigungscode
@@ -7,7 +7,7 @@ en:
7
7
  password_complexity:
8
8
  digit:
9
9
  one: must contain at least one digit
10
- other: must contain at least %{count} numerals
10
+ other: must contain at least %{count} digits
11
11
  lower:
12
12
  one: must contain at least one lower-case letter
13
13
  other: must contain at least %{count} lower-case letters
@@ -23,6 +23,7 @@ en:
23
23
  paranoid_verify:
24
24
  code_required: 'Please enter the code our support team provided'
25
25
  paranoid_verification_code:
26
+ updated: Verification code accepted
26
27
  show:
27
28
  submit_verification_code: Submit verification code
28
29
  verification_code: Verification code
@@ -22,9 +22,21 @@ es:
22
22
  invalid_security_question: 'La respuesta a la pregunta de seguridad fue incorrecta.'
23
23
  paranoid_verify:
24
24
  code_required: 'Por favor ingrese el código provisto por nuestro equipo de soporte'
25
+ paranoid_verification_code:
26
+ updated: Se acepta el código de verificación
27
+ show:
28
+ submit_verification_code: Envíe el código de verificación
29
+ verification_code: Código de verificación
30
+ submit: Entregar
25
31
  password_expired:
26
32
  updated: 'Su nueva contraseña ha sido guardada.'
27
33
  change_required: 'Su contraseña ha expirado. Por favor renueve su contraseña.'
34
+ show:
35
+ renew_your_password: Renueve su contraseña
36
+ current_password: Actual contraseña
37
+ new_password: Nueva contraseña
38
+ new_password_confirmation: Confirmar nueva contraseña
39
+ change_my_password: Cambiar mi contraseña
28
40
  failure:
29
41
  session_limited: 'Sus credenciales de inicio de sesión fueron usadas en otro navegador. Por favor inicie sesión nuevamente para continuar en este navegador.'
30
42
  expired: 'Su cuenta ha expirado debido a inactividad. Por favor contacte al administrador de la aplicación.'
@@ -23,6 +23,7 @@ fa:
23
23
  paranoid_verify:
24
24
  code_required: 'لطفاً کدی را که تیم پشتیبانی ما ارائه کرده است وارد کنید'
25
25
  paranoid_verification_code:
26
+ updated: کد تأیید پذیرفته شد
26
27
  show:
27
28
  submit_verification_code: ارسال کد تاییدیه
28
29
  verification_code: کد تاییدیه
@@ -9,8 +9,8 @@ fr:
9
9
  one: doit contenir au moins un chiffre
10
10
  other: doit contenir au moins %{count} chiffres
11
11
  lower:
12
- one: doit contenir au moins une lettre miniscule
13
- other: doit contenir au moins %{count} lettres miniscules
12
+ one: doit contenir au moins une lettre minuscule
13
+ other: doit contenir au moins %{count} lettres minuscules
14
14
  symbol:
15
15
  one: doit contenir au moins un signe de ponctuation
16
16
  other: doit contenir au moins %{count} signes de ponctuation
@@ -22,9 +22,21 @@ fr:
22
22
  invalid_security_question: La réponse à la question de sécurité est invalide
23
23
  paranoid_verify:
24
24
  code_required: Veuillez entrer le code fourni par notre équipe de support
25
+ paranoid_verification_code:
26
+ updated: Code de vérification accepté
27
+ show:
28
+ submit_verification_code: Soumettre le code de vérification
29
+ verification_code: Code de vérification
30
+ submit: Soumettre
25
31
  password_expired:
26
32
  updated: Votre nouveau mot de passe est enregistré
27
33
  change_required: Votre mot de passe a expiré. Veuillez en choisir un autre
34
+ show:
35
+ renew_your_password: Renouveler votre mot de passe
36
+ current_password: Mot de passe actuel
37
+ new_password: Nouveau mot de passe
38
+ new_password_confirmation: Confirmer le nouveau mot de passe
39
+ change_my_password: Changer mon mot de passe
28
40
  failure:
29
41
  session_limited: Vos identifiants de connexion ont été utilisés dans un autre navigateur. Veuillez vous reconnecter pour continuer dans ce navigateur
30
42
  expired: Votre compte a expiré pour cause d'inactivité. Veuillez contacter l'administrateur du site
@@ -2,41 +2,42 @@
2
2
  hi:
3
3
  errors:
4
4
  messages:
5
- taken_in_past: यह पासवर्ड, आपके द्वारा पूर्व मे प्रयोग किया जा चुका है
6
- equal_to_current_password: नया पासवर्ड, वर्तमान पासवर्ड से भिन्न होना चाहिए
5
+ taken_in_past: यह पासवर्ड, आपके द्वारा पूर्व मे प्रयोग किया जा चुका है
6
+ equal_to_current_password: नया पासवर्ड, वर्तमान पासवर्ड से भिन्न होना चाहिए
7
7
  equal_to_email: ईमेल से अलग होना चाहिए
8
8
  password_complexity:
9
9
  digit:
10
- one: एक अंक होना चाहिए
11
- other: कम से कम %{count} अंक होने चाहिए
10
+ one: एक अंक होना चाहिए
11
+ other: कम से कम %{count} अंक होने चाहिए
12
12
  lower:
13
- one: एक लोअर-केस अक्षर होना चाहिए
14
- other: कम से कम %{count} अक्षर होने चाहिए
13
+ one: एक लोअर-केस अक्षर होना चाहिए
14
+ other: कम से कम %{count} अक्षर होने चाहिए
15
15
  symbol:
16
- one: एक चिन्ह होना चाहिए
17
- other: कम से कम %{count} चिन्ह होने चाहिए
16
+ one: एक चिन्ह होना चाहिए
17
+ other: कम से कम %{count} चिन्ह होने चाहिए
18
18
  upper:
19
- one: एक अपर-केस अक्षर होना चाहिए
20
- other: कम से कम %{count} अपर-केस अक्षर होने चाहिए
19
+ one: एक अपर-केस अक्षर होना चाहिए
20
+ other: कम से कम %{count} अपर-केस अक्षर होने चाहिए
21
21
  devise:
22
22
  invalid_captcha: अमान्य कॅप्टचा
23
23
  invalid_security_question: अमान्य सुरक्षा उत्तर
24
24
  paranoid_verify:
25
- code_required: सपोर्ट टीम द्वारा दिया गया कोड डाले
25
+ code_required: सपोर्ट टीम द्वारा दिया गया कोड डाले
26
26
  paranoid_verification_code:
27
+ updated: सत्यापन कोड स्वीकार किया गया
27
28
  show:
28
- submit_verification_code: वेरिफिकेशन कोड डाले
29
- verification_code: वेरिफिकेशन कोड
30
- submit: सबमिट
29
+ submit_verification_code: वेरिफिकेशन कोड डाले
30
+ verification_code: वेरिफिकेशन कोड
31
+ submit: सबमिट
31
32
  password_expired:
32
33
  updated: पासवर्ड अद्यतन किया गया
33
- change_required: पासवर्ड अमान्य हो चुका, पासवर्ड बदले
34
+ change_required: पासवर्ड अमान्य हो चुका, पासवर्ड बदले
34
35
  show:
35
- renew_your_password: पासवर्ड बदले
36
+ renew_your_password: पासवर्ड बदले
36
37
  current_password: वर्तमान पासवर्ड
37
- new_password: नया पासवर्ड
38
- new_password_confirmation: नए पासवर्ड की पुष्टि करें
39
- change_my_password: पासवर्ड बदले
38
+ new_password: नया पासवर्ड
39
+ new_password_confirmation: नए पासवर्ड की पुष्टि करें
40
+ change_my_password: पासवर्ड बदले
40
41
  failure:
41
- session_limited: जानकारी, दूसरे ब्राउज़र में उपयोग की गयी थी जारी रखने फिर से साइन-इन करे
42
+ session_limited: जानकारी, दूसरे ब्राउज़र में उपयोग की गयी थी जारी रखने फिर से साइन-इन करे
42
43
  expired: कोई गतिविधि न होने के कारण खाता बंद हो गया, सिस्टम व्यवस्थापक से संपर्क करें
@@ -23,6 +23,7 @@ it:
23
23
  paranoid_verify:
24
24
  code_required: 'Inserisci il codice fornito dal nostro team di supporto'
25
25
  paranoid_verification_code:
26
+ updated: Codice di verifica accettato
26
27
  show:
27
28
  submit_verification_code: Invia codice di verifica
28
29
  verification_code: Codice di verifica
@@ -22,9 +22,21 @@ ja:
22
22
  invalid_security_question: 'セキュリティ質問に対する回答が不正です。'
23
23
  paranoid_verify:
24
24
  code_required: 'サポートチームに提供された認証コードを入力してください。'
25
+ paranoid_verification_code:
26
+ updated: 確認コードを受け入れました
27
+ show:
28
+ submit_verification_code: 確認コードを送信する
29
+ verification_code: 検証コード
30
+ submit: 参加する
25
31
  password_expired:
26
32
  updated: '新しいパスワードが保存されました。'
27
33
  change_required: 'パスワードが期限切れです。パスワードを新しく設定してください。'
34
+ show:
35
+ renew_your_password: パスワードを更新する
36
+ current_password: 現在のパスワード
37
+ new_password: 新しいパスワード
38
+ new_password_confirmation: 新しいパスワードを確認
39
+ change_my_password: パスワードを変更する
28
40
  failure:
29
41
  session_limited: '他のブラウザでログインされました。このブラウザで続ける場合は、もう一度サインインしてください。'
30
42
  expired: '活動がなかったため、あなたのアカウントは期限切れとなりました。サイト管理者に連絡してください。'
@@ -23,6 +23,7 @@ nl:
23
23
  paranoid_verify:
24
24
  code_required: Voer de aangeleverde code in
25
25
  paranoid_verification_code:
26
+ updated: Verificatiecode geaccepteerd
26
27
  show:
27
28
  submit_verification_code: Verstuur verificatie code
28
29
  verification_code: Verificatie code
@@ -23,6 +23,7 @@ pt:
23
23
  paranoid_verify:
24
24
  code_required: 'Por favor entre o código que a equipe de suporte enviou'
25
25
  paranoid_verification_code:
26
+ updated: Código de verificação aceito
26
27
  show:
27
28
  submit_verification_code: Enviar código de verificação
28
29
  verification_code: Código de verificação
@@ -31,6 +31,7 @@ ru:
31
31
  paranoid_verify:
32
32
  code_required: 'Пожалуйста введите код, полученный от нашей команды поддержки'
33
33
  paranoid_verification_code:
34
+ updated: Код подтверждения принят
34
35
  show:
35
36
  submit_verification_code: Ввод кода подтверждения
36
37
  verification_code: Код подверждения
@@ -4,15 +4,39 @@ tr:
4
4
  taken_in_past: "daha önce kullanıldı."
5
5
  equal_to_current_password: "mevcut paroladan farklı olmalı."
6
6
  equal_to_email: "e-postadan farklı olmalı."
7
- password_format: "büyük, küçük harfler ve sayılar içermeli."
7
+ password_complexity:
8
+ digit:
9
+ one: en az bir rakam içermelidir
10
+ other: en az %{count} basamak içermelidir
11
+ lower:
12
+ one: en az bir küçük harf içermelidir
13
+ other: en az %{count} küçük harf içermelidir
14
+ symbol:
15
+ one: en az bir noktalama işareti veya sembolü içermelidir
16
+ other: en az %{count} noktalama işareti veya sembolü içermelidir
17
+ upper:
18
+ one: en az bir büyük harf içermelidir
19
+ other: en az %{count} büyük harf içermelidir
8
20
  devise:
9
21
  invalid_captcha: "Captcha hatalı."
10
22
  invalid_security_question: "Güvenlik sorusunun cevabı yanlış."
11
23
  paranoid_verify:
12
24
  code_required: "Destek ekibimizden aldığınız kodu girin."
25
+ paranoid_verification_code:
26
+ updated: Doğrulama kodu kabul edildi
27
+ show:
28
+ submit_verification_code: Doğrulama kodunu gönder
29
+ verification_code: Doğrulama kodu
30
+ submit: Gönder
13
31
  password_expired:
14
32
  updated: "Yeni parolanız kaydedildi."
15
33
  change_required: "Parolanızın geçerlilik süresi dolmuş. Lütfen parolanızı yenileyin."
34
+ show:
35
+ renew_your_password: Şifrenizi yenileyin
36
+ current_password: Mevcut Şifre
37
+ new_password: Yeni Şifre
38
+ new_password_confirmation: Yeni şifreyi onayla
39
+ change_my_password: Şifremi Değiştir
16
40
  failure:
17
41
  session_limited: 'Hesabınıza başka bir tarayıcıdan giriş yapılmış. Lütfen devam etmek için yeniden giriş yapın.'
18
42
  expired: 'Hesabınız aktif olarak kullanılmadığı için artık geçerli değil. Lütfen yönetici ile irtibata geçin.'
@@ -31,6 +31,7 @@ uk:
31
31
  paranoid_verify:
32
32
  code_required: 'Введіть, будь ласка, код від нашої команди підтримки'
33
33
  paranoid_verification_code:
34
+ updated: Код підтвердження прийнято
34
35
  show:
35
36
  submit_verification_code: Відправити код підтвердження
36
37
  verification_code: Код підтвердження
@@ -23,6 +23,7 @@ zh_CN:
23
23
  paranoid_verify:
24
24
  code_required: '请输入我们支持团队提供的代码'
25
25
  paranoid_verification_code:
26
+ updated: 接受验证码
26
27
  show:
27
28
  submit_verification_code: 提交验证码
28
29
  verification_code: 验证码
@@ -23,6 +23,7 @@ zh_TW:
23
23
  paranoid_verify:
24
24
  code_required: '請輸入由我們客服團隊提供的代碼'
25
25
  paranoid_verification_code:
26
+ updated: 接受驗證碼
26
27
  show:
27
28
  submit_verification_code: 送出驗證碼
28
29
  verification_code: 驗證碼
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-security
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
- - Marco Scholl
8
7
  - Alexander Dreher
9
- - Nate Bird
10
8
  - Dillon Welch
11
9
  - Kevin Olbrich
10
+ - Marco Scholl
11
+ - Nate Bird
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2021-05-03 00:00:00.000000000 Z
15
+ date: 2023-04-15 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: devise
@@ -21,9 +21,6 @@ dependencies:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
23
  version: 4.3.0
24
- - - "<"
25
- - !ruby/object:Gem::Version
26
- version: '5.0'
27
24
  type: :runtime
28
25
  prerelease: false
29
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,9 +28,6 @@ dependencies:
31
28
  - - ">="
32
29
  - !ruby/object:Gem::Version
33
30
  version: 4.3.0
34
- - - "<"
35
- - !ruby/object:Gem::Version
36
- version: '5.0'
37
31
  - !ruby/object:Gem::Dependency
38
32
  name: appraisal
39
33
  requirement: !ruby/object:Gem::Requirement
@@ -62,6 +56,20 @@ dependencies:
62
56
  - - ">="
63
57
  - !ruby/object:Gem::Version
64
58
  version: '0'
59
+ - !ruby/object:Gem::Dependency
60
+ name: byebug
61
+ requirement: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
65
73
  - !ruby/object:Gem::Dependency
66
74
  name: database_cleaner
67
75
  requirement: !ruby/object:Gem::Requirement
@@ -91,7 +99,7 @@ dependencies:
91
99
  - !ruby/object:Gem::Version
92
100
  version: '0'
93
101
  - !ruby/object:Gem::Dependency
94
- name: m
102
+ name: i18n-tasks
95
103
  requirement: !ruby/object:Gem::Requirement
96
104
  requirements:
97
105
  - - ">="
@@ -105,7 +113,7 @@ dependencies:
105
113
  - !ruby/object:Gem::Version
106
114
  version: '0'
107
115
  - !ruby/object:Gem::Dependency
108
- name: minitest
116
+ name: m
109
117
  requirement: !ruby/object:Gem::Requirement
110
118
  requirements:
111
119
  - - ">="
@@ -119,21 +127,21 @@ dependencies:
119
127
  - !ruby/object:Gem::Version
120
128
  version: '0'
121
129
  - !ruby/object:Gem::Dependency
122
- name: omniauth
130
+ name: minitest
123
131
  requirement: !ruby/object:Gem::Requirement
124
132
  requirements:
125
- - - "<"
133
+ - - ">="
126
134
  - !ruby/object:Gem::Version
127
- version: 3.0.0
135
+ version: '0'
128
136
  type: :development
129
137
  prerelease: false
130
138
  version_requirements: !ruby/object:Gem::Requirement
131
139
  requirements:
132
- - - "<"
140
+ - - ">="
133
141
  - !ruby/object:Gem::Version
134
- version: 3.0.0
142
+ version: '0'
135
143
  - !ruby/object:Gem::Dependency
136
- name: pry-byebug
144
+ name: omniauth
137
145
  requirement: !ruby/object:Gem::Requirement
138
146
  requirements:
139
147
  - - ">="
@@ -178,16 +186,30 @@ dependencies:
178
186
  name: rubocop
179
187
  requirement: !ruby/object:Gem::Requirement
180
188
  requirements:
181
- - - "~>"
189
+ - - ">="
182
190
  - !ruby/object:Gem::Version
183
- version: 0.80.0
191
+ version: '0'
184
192
  type: :development
185
193
  prerelease: false
186
194
  version_requirements: !ruby/object:Gem::Requirement
187
195
  requirements:
188
- - - "~>"
196
+ - - ">="
189
197
  - !ruby/object:Gem::Version
190
- version: 0.80.0
198
+ version: '0'
199
+ - !ruby/object:Gem::Dependency
200
+ name: rubocop-minitest
201
+ requirement: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ type: :development
207
+ prerelease: false
208
+ version_requirements: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
191
213
  - !ruby/object:Gem::Dependency
192
214
  name: rubocop-rails
193
215
  requirement: !ruby/object:Gem::Requirement
@@ -230,6 +252,20 @@ dependencies:
230
252
  - - ">="
231
253
  - !ruby/object:Gem::Version
232
254
  version: '0'
255
+ - !ruby/object:Gem::Dependency
256
+ name: solargraph-arc
257
+ requirement: !ruby/object:Gem::Requirement
258
+ requirements:
259
+ - - ">="
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ type: :development
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ requirements:
266
+ - - ">="
267
+ - !ruby/object:Gem::Version
268
+ version: '0'
233
269
  description: An enterprise security extension for devise.
234
270
  email: natebird@gmail.com
235
271
  executables: []
@@ -242,6 +278,7 @@ files:
242
278
  - app/controllers/devise/password_expired_controller.rb
243
279
  - app/views/devise/paranoid_verification_code/show.html.erb
244
280
  - app/views/devise/password_expired/show.html.erb
281
+ - config/locales/bg.yml
245
282
  - config/locales/by.yml
246
283
  - config/locales/cs.yml
247
284
  - config/locales/de.yml
@@ -280,16 +317,8 @@ files:
280
317
  - lib/devise-security/models/session_limitable.rb
281
318
  - lib/devise-security/orm/mongoid.rb
282
319
  - lib/devise-security/patches.rb
283
- - lib/devise-security/patches/confirmations_controller_captcha.rb
284
- - lib/devise-security/patches/confirmations_controller_security_question.rb
285
320
  - lib/devise-security/patches/controller_captcha.rb
286
321
  - lib/devise-security/patches/controller_security_question.rb
287
- - lib/devise-security/patches/passwords_controller_captcha.rb
288
- - lib/devise-security/patches/passwords_controller_security_question.rb
289
- - lib/devise-security/patches/registrations_controller_captcha.rb
290
- - lib/devise-security/patches/sessions_controller_captcha.rb
291
- - lib/devise-security/patches/unlocks_controller_captcha.rb
292
- - lib/devise-security/patches/unlocks_controller_security_question.rb
293
322
  - lib/devise-security/rails.rb
294
323
  - lib/devise-security/routes.rb
295
324
  - lib/devise-security/validators/password_complexity_validator.rb
@@ -297,13 +326,15 @@ files:
297
326
  - lib/generators/devise_security/install_generator.rb
298
327
  - lib/generators/templates/devise_security.rb
299
328
  - test/controllers/test_captcha_controller.rb
329
+ - test/controllers/test_paranoid_verification_code_controller.rb
300
330
  - test/controllers/test_password_expired_controller.rb
301
331
  - test/controllers/test_security_question_controller.rb
302
332
  - test/dummy/Rakefile
303
333
  - test/dummy/app/assets/config/manifest.js
304
334
  - test/dummy/app/controllers/application_controller.rb
305
335
  - test/dummy/app/controllers/captcha/sessions_controller.rb
306
- - test/dummy/app/controllers/foos_controller.rb
336
+ - test/dummy/app/controllers/overrides/paranoid_verification_code_controller.rb
337
+ - test/dummy/app/controllers/overrides/password_expired_controller.rb
307
338
  - test/dummy/app/controllers/security_question/unlocks_controller.rb
308
339
  - test/dummy/app/controllers/widgets_controller.rb
309
340
  - test/dummy/app/models/application_record.rb
@@ -327,7 +358,8 @@ files:
327
358
  - test/dummy/app/models/mongoid/timeoutable_fields.rb
328
359
  - test/dummy/app/models/mongoid/trackable_fields.rb
329
360
  - test/dummy/app/models/mongoid/validatable_fields.rb
330
- - test/dummy/app/models/secure_user.rb
361
+ - test/dummy/app/models/paranoid_verification_user.rb
362
+ - test/dummy/app/models/password_expired_user.rb
331
363
  - test/dummy/app/models/security_question_user.rb
332
364
  - test/dummy/app/models/user.rb
333
365
  - test/dummy/app/models/widget.rb
@@ -347,6 +379,7 @@ files:
347
379
  - test/dummy/config/environments/test.rb
348
380
  - test/dummy/config/initializers/devise.rb
349
381
  - test/dummy/config/initializers/migration_class.rb
382
+ - test/dummy/config/locales/en.yml
350
383
  - test/dummy/config/mongoid.yml
351
384
  - test/dummy/config/routes.rb
352
385
  - test/dummy/config/secrets.yml
@@ -363,11 +396,11 @@ files:
363
396
  - test/dummy/lib/shared_security_questions_fields.rb
364
397
  - test/dummy/lib/shared_user.rb
365
398
  - test/dummy/lib/shared_user_with_password_verification.rb
366
- - test/dummy/lib/shared_user_without_email.rb
367
399
  - test/dummy/lib/shared_user_without_omniauth.rb
368
400
  - test/dummy/lib/shared_verification_fields.rb
369
- - test/dummy/log/development.log
370
401
  - test/dummy/log/test.log
402
+ - test/i18n_test.rb
403
+ - test/integration/test_paranoid_verification_code_workflow.rb
371
404
  - test/integration/test_password_expirable_workflow.rb
372
405
  - test/integration/test_session_limitable_workflow.rb
373
406
  - test/orm/active_record.rb
@@ -376,14 +409,16 @@ files:
376
409
  - test/support/mongoid.yml
377
410
  - test/test_compatibility.rb
378
411
  - test/test_complexity_validator.rb
412
+ - test/test_database_authenticatable_patch.rb
379
413
  - test/test_helper.rb
380
414
  - test/test_install_generator.rb
381
415
  - test/test_paranoid_verification.rb
382
416
  - test/test_password_archivable.rb
383
417
  - test/test_password_expirable.rb
384
418
  - test/test_secure_validatable.rb
419
+ - test/test_secure_validatable_overrides.rb
385
420
  - test/test_session_limitable.rb
386
- - test/tmp/config/initializers/devise-security.rb
421
+ - test/tmp/config/initializers/devise_security.rb
387
422
  - test/tmp/config/locales/devise.security_extension.by.yml
388
423
  - test/tmp/config/locales/devise.security_extension.cs.yml
389
424
  - test/tmp/config/locales/devise.security_extension.de.yml
@@ -420,7 +455,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
420
455
  - !ruby/object:Gem::Version
421
456
  version: '0'
422
457
  requirements: []
423
- rubygems_version: 3.0.9
458
+ rubygems_version: 3.1.6
424
459
  signing_key:
425
460
  specification_version: 4
426
461
  summary: Security extension for devise
@@ -453,14 +488,16 @@ test_files:
453
488
  - test/dummy/app/models/mongoid/omniauthable_fields.rb
454
489
  - test/dummy/app/models/security_question_user.rb
455
490
  - test/dummy/app/models/application_user_record.rb
456
- - test/dummy/app/models/secure_user.rb
457
491
  - test/dummy/app/models/widget.rb
492
+ - test/dummy/app/models/password_expired_user.rb
493
+ - test/dummy/app/models/paranoid_verification_user.rb
458
494
  - test/dummy/app/models/application_record.rb
459
495
  - test/dummy/app/models/captcha_user.rb
460
496
  - test/dummy/app/models/user.rb
497
+ - test/dummy/app/controllers/overrides/password_expired_controller.rb
498
+ - test/dummy/app/controllers/overrides/paranoid_verification_code_controller.rb
461
499
  - test/dummy/app/controllers/application_controller.rb
462
500
  - test/dummy/app/controllers/captcha/sessions_controller.rb
463
- - test/dummy/app/controllers/foos_controller.rb
464
501
  - test/dummy/app/controllers/widgets_controller.rb
465
502
  - test/dummy/app/controllers/security_question/unlocks_controller.rb
466
503
  - test/dummy/app/views/foos/index.html.erb
@@ -468,6 +505,7 @@ test_files:
468
505
  - test/dummy/config/secrets.yml
469
506
  - test/dummy/config/routes.rb
470
507
  - test/dummy/config/mongoid.yml
508
+ - test/dummy/config/locales/en.yml
471
509
  - test/dummy/config/environments/test.rb
472
510
  - test/dummy/config/environment.rb
473
511
  - test/dummy/config/application.rb
@@ -479,7 +517,6 @@ test_files:
479
517
  - test/dummy/Rakefile
480
518
  - test/dummy/lib/shared_verification_fields.rb
481
519
  - test/dummy/lib/shared_user.rb
482
- - test/dummy/lib/shared_user_without_email.rb
483
520
  - test/dummy/lib/shared_user_without_omniauth.rb
484
521
  - test/dummy/lib/shared_user_with_password_verification.rb
485
522
  - test/dummy/lib/shared_expirable_columns.rb
@@ -494,11 +531,14 @@ test_files:
494
531
  - test/dummy/db/migrate/20150407162345_add_verification_attempt_column.rb
495
532
  - test/dummy/db/migrate/20180318105329_add_confirmable_columns.rb
496
533
  - test/dummy/log/test.log
497
- - test/dummy/log/development.log
498
534
  - test/test_install_generator.rb
535
+ - test/test_secure_validatable_overrides.rb
536
+ - test/i18n_test.rb
499
537
  - test/test_paranoid_verification.rb
500
538
  - test/integration/test_session_limitable_workflow.rb
501
539
  - test/integration/test_password_expirable_workflow.rb
540
+ - test/integration/test_paranoid_verification_code_workflow.rb
541
+ - test/test_database_authenticatable_patch.rb
502
542
  - test/test_secure_validatable.rb
503
543
  - test/test_session_limitable.rb
504
544
  - test/support/mongoid.yml
@@ -509,6 +549,7 @@ test_files:
509
549
  - test/test_compatibility.rb
510
550
  - test/test_password_expirable.rb
511
551
  - test/controllers/test_security_question_controller.rb
552
+ - test/controllers/test_paranoid_verification_code_controller.rb
512
553
  - test/controllers/test_captcha_controller.rb
513
554
  - test/controllers/test_password_expired_controller.rb
514
555
  - test/tmp/config/locales/devise.security_extension.by.yml
@@ -528,5 +569,5 @@ test_files:
528
569
  - test/tmp/config/locales/devise.security_extension.uk.yml
529
570
  - test/tmp/config/locales/devise.security_extension.zh_TW.yml
530
571
  - test/tmp/config/locales/devise.security_extension.cs.yml
531
- - test/tmp/config/initializers/devise-security.rb
572
+ - test/tmp/config/initializers/devise_security.rb
532
573
  - test/test_complexity_validator.rb