devise-security 0.16.0 → 0.18.0

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