devise-security 0.14.0.rc1 → 0.15.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.
- checksums.yaml +4 -4
- data/README.md +116 -60
- data/app/controllers/devise/password_expired_controller.rb +10 -1
- data/app/views/devise/paranoid_verification_code/show.html.erb +3 -3
- data/app/views/devise/password_expired/show.html.erb +5 -5
- data/config/locales/by.yml +48 -0
- data/config/locales/cs.yml +40 -0
- data/config/locales/de.yml +12 -2
- data/config/locales/en.yml +12 -1
- data/config/locales/es.yml +9 -9
- data/config/locales/fa.yml +40 -0
- data/config/locales/hi.yml +41 -0
- data/config/locales/it.yml +34 -4
- data/config/locales/ja.yml +1 -1
- data/config/locales/nl.yml +40 -0
- data/config/locales/pt.yml +40 -0
- data/config/locales/ru.yml +48 -0
- data/config/locales/uk.yml +48 -0
- data/config/locales/zh_CN.yml +40 -0
- data/config/locales/zh_TW.yml +40 -0
- data/lib/devise-security.rb +1 -0
- data/lib/devise-security/controllers/helpers.rb +59 -50
- data/lib/devise-security/hooks/password_expirable.rb +2 -0
- data/lib/devise-security/hooks/session_limitable.rb +21 -10
- data/lib/devise-security/models/compatibility.rb +2 -2
- data/lib/devise-security/models/compatibility/{active_record.rb → active_record_patch.rb} +12 -1
- data/lib/devise-security/models/compatibility/{mongoid.rb → mongoid_patch.rb} +11 -1
- data/lib/devise-security/models/mongoid/old_password.rb +1 -1
- data/lib/devise-security/models/password_expirable.rb +5 -1
- data/lib/devise-security/models/session_limitable.rb +17 -2
- data/lib/devise-security/schema.rb +1 -1
- data/lib/devise-security/validators/password_complexity_validator.rb +4 -2
- data/lib/devise-security/version.rb +1 -1
- data/lib/generators/devise_security/install_generator.rb +2 -2
- data/test/{test_captcha_controller.rb → controllers/test_captcha_controller.rb} +0 -0
- data/test/controllers/test_password_expired_controller.rb +141 -0
- data/test/{test_security_question_controller.rb → controllers/test_security_question_controller.rb} +0 -0
- data/test/dummy/app/assets/config/manifest.js +3 -0
- data/test/dummy/app/controllers/widgets_controller.rb +6 -0
- data/test/dummy/app/models/user.rb +8 -0
- data/test/dummy/config/application.rb +1 -0
- data/test/dummy/config/routes.rb +4 -3
- data/test/dummy/db/migrate/20120508165529_create_tables.rb +11 -2
- data/test/dummy/log/test.log +1799 -0
- data/test/integration/test_password_expirable_workflow.rb +57 -0
- data/test/integration/test_session_limitable_workflow.rb +67 -0
- data/test/orm/active_record.rb +4 -1
- data/test/support/integration_helpers.rb +47 -0
- data/test/test_compatibility.rb +13 -0
- data/test/test_complexity_validator.rb +12 -0
- data/test/test_helper.rb +21 -6
- data/test/test_install_generator.rb +10 -0
- data/test/test_session_limitable.rb +57 -0
- data/test/tmp/config/initializers/devise-security.rb +44 -0
- data/test/tmp/config/locales/devise.security_extension.de.yml +38 -0
- data/test/tmp/config/locales/devise.security_extension.en.yml +40 -0
- data/test/tmp/config/locales/devise.security_extension.es.yml +29 -0
- data/test/tmp/config/locales/devise.security_extension.fa.yml +40 -0
- data/test/tmp/config/locales/devise.security_extension.fr.yml +29 -0
- data/test/tmp/config/locales/devise.security_extension.it.yml +40 -0
- data/test/tmp/config/locales/devise.security_extension.ja.yml +29 -0
- data/test/tmp/config/locales/devise.security_extension.nl.yml +40 -0
- data/test/tmp/config/locales/devise.security_extension.pt.yml +40 -0
- data/test/tmp/config/locales/devise.security_extension.ru.yml +48 -0
- data/test/tmp/config/locales/devise.security_extension.tr.yml +17 -0
- data/test/tmp/config/locales/devise.security_extension.uk.yml +48 -0
- data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +40 -0
- metadata +165 -121
- data/.codeclimate.yml +0 -63
- data/.document +0 -5
- data/.gitignore +0 -43
- data/.mdlrc +0 -1
- data/.rubocop.yml +0 -64
- data/.ruby-version +0 -1
- data/.travis.yml +0 -41
- data/Appraisals +0 -35
- data/Gemfile +0 -10
- data/Rakefile +0 -28
- data/devise-security.gemspec +0 -50
- data/gemfiles/rails_4.2_stable.gemfile +0 -16
- data/gemfiles/rails_5.0_stable.gemfile +0 -15
- data/gemfiles/rails_5.1_stable.gemfile +0 -15
- data/gemfiles/rails_5.2_stable.gemfile +0 -15
- data/gemfiles/rails_6.0_beta.gemfile +0 -15
- data/test/dummy/app/models/.gitkeep +0 -0
- data/test/test_password_expired_controller.rb +0 -46
@@ -0,0 +1,29 @@
|
|
1
|
+
es:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'la contraseña fue usada previamente, favor elegir otra.'
|
5
|
+
equal_to_current_password: 'tiene que ser diferente a la contraseña actual.'
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: tiene que contener al menos un digito
|
9
|
+
other: tiene que contener al menos %{count} digitos
|
10
|
+
lower:
|
11
|
+
one: tiene que contener al menos un minúscula
|
12
|
+
other: tiene que contener al menos %{count} minúsculas
|
13
|
+
symbol:
|
14
|
+
one: tiene que contener al menos un signo de puntuación
|
15
|
+
other: tiene que contener al menos %{count} signos de puntuación
|
16
|
+
upper:
|
17
|
+
one: tiene que contener al menos un mayúscula
|
18
|
+
other: tiene que contener al menos %{count} mayúsculas
|
19
|
+
devise:
|
20
|
+
invalid_captcha: 'El captcha ingresado es inválido.'
|
21
|
+
invalid_security_question: 'La respuesta a la pregunta de suguridad fue incorrecta.'
|
22
|
+
paranoid_verify:
|
23
|
+
code_required: 'Por favor ingrese el código provisto por nuestro equipo de soporte'
|
24
|
+
password_expired:
|
25
|
+
updated: 'Su nueva contraña ha sido guardada.'
|
26
|
+
change_required: 'Su contraña ha expirado. Por favor renueve su contraseña.'
|
27
|
+
failure:
|
28
|
+
session_limited: 'Sus credenciales de inicio de sesión fueron usadas en otro navegador. Por favor inicie sesión nuevamente para continuar en éste navegador.'
|
29
|
+
expired: 'Su cuenta ha expirado debido a inactividad. Por favor contacte al administrador de la aplicación.'
|
@@ -0,0 +1,40 @@
|
|
1
|
+
fa:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'قبلا استفاده شده است'
|
5
|
+
equal_to_current_password: 'باید متفاوت با رمز عبور فعلی باشد'
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: باید حداقل یک رقم داشته باشد
|
9
|
+
other: باید حداقل %{count} عدد داشته باشد
|
10
|
+
lower:
|
11
|
+
one: باید حداقل شامل یک حرف کوچک باشد
|
12
|
+
other: باید حداقل %{count} حروف کوچک داشته باشد
|
13
|
+
symbol:
|
14
|
+
one: باید حداقل دارای یک علامت یا کارکتر خاص باشد
|
15
|
+
other: باید حداقل دارای %{count} علائم یا کارکتر های خاص باشد
|
16
|
+
upper:
|
17
|
+
one: باید حداقل یک حرف بزرگ داشته باشد
|
18
|
+
other: باید حداقل %{count} حروف بزرگ داشته باشد
|
19
|
+
devise:
|
20
|
+
invalid_captcha: 'اطلاعات وارد شده در کپچا نامعتبر بود'
|
21
|
+
invalid_security_question: 'پاسخ سوال امنیتی نامعتبر بود'
|
22
|
+
paranoid_verify:
|
23
|
+
code_required: 'لطفاً کدی را که تیم پشتیبانی ما ارائه کرده است وارد کنید'
|
24
|
+
paranoid_verification_code:
|
25
|
+
show:
|
26
|
+
submit_verification_code: ارسال کد تاییدیه
|
27
|
+
verification_code: کد تاییدیه
|
28
|
+
submit: ارسال
|
29
|
+
password_expired:
|
30
|
+
updated: 'رمز جدید شما ذخیره شده است'
|
31
|
+
change_required: 'رمز عبور شما منقضی شده است ،لطفاً رمز خود را تمدید کنید'
|
32
|
+
show:
|
33
|
+
renew_your_password: ساختن رمز عبور جدید
|
34
|
+
current_password: رمز عبور جاری
|
35
|
+
new_password: رمز عبور جدید
|
36
|
+
new_password_confirmation: تکرار رمز جدید
|
37
|
+
change_my_password: تغییر رمز عبور
|
38
|
+
failure:
|
39
|
+
session_limited: 'از اطلاعات ورود شما در مرورگر دیگری استفاده شده است، برای ادامه در این مرورگر لطفاً دوباره وارد سیستم شوید'
|
40
|
+
expired: 'حساب شما به دلیل عدم فعالیت منقضی شده است، لطفاً با مدیر سایت تماس بگیرید.'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
fr:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: a été utilisé trop récemment. Veuillez en choisir un autre
|
5
|
+
equal_to_current_password: doit être différent de l'actuel
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: doit contenir au moins un chiffre
|
9
|
+
other: doit contenir au moins %{count} chiffres
|
10
|
+
lower:
|
11
|
+
one: doit contenir au moins une lettre miniscule
|
12
|
+
other: doit contenir au moins %{count} lettres miniscules
|
13
|
+
symbol:
|
14
|
+
one: doit contenir au moins un signe de ponctuation
|
15
|
+
other: doit contenir au moins %{count} signes de ponctuation
|
16
|
+
upper:
|
17
|
+
one: doit contenir au moins une lettre majuscule
|
18
|
+
other: doit contenir au moins %{count} lettres majuscules
|
19
|
+
devise:
|
20
|
+
invalid_captcha: Le captcha n'est pas valide
|
21
|
+
invalid_security_question: La réponse à la question de sécurité est invalide
|
22
|
+
paranoid_verify:
|
23
|
+
code_required: Veuillez entrer le code fourni par notre équipe de support
|
24
|
+
password_expired:
|
25
|
+
updated: Votre nouveau mot de passe est enregistré
|
26
|
+
change_required: Votre mot de passe a expiré. Veuillez en choisir un autre
|
27
|
+
failure:
|
28
|
+
session_limited: Vos identifiants de connexion ont été utilisés dans un autre navigateur. Veuillez vous reconnecter pour continuer dans ce navigateur
|
29
|
+
expired: Votre compte a expiré pour cause d'inactivité. Veuillez contacter l'administrateur du site
|
@@ -0,0 +1,40 @@
|
|
1
|
+
it:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: "è stata gia' utilizzata in passato!"
|
5
|
+
equal_to_current_password: " deve essere differente dalla password corrente!"
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: deve contenere almeno una cifra
|
9
|
+
other: deve contenere almeno %{count} cifre
|
10
|
+
lower:
|
11
|
+
one: deve contenere almeno una lettera minuscola
|
12
|
+
other: deve contenere almeno %{count} lettere minuscole
|
13
|
+
symbol:
|
14
|
+
one: deve contenere almeno un simbolo di punteggiatura o un simbolo speciale
|
15
|
+
other: deve contenere almeno %{count} tra simboli di punteggiatura e simboli speciali
|
16
|
+
upper:
|
17
|
+
one: deve contenere almeno una lettera maiuscola
|
18
|
+
other: deve contenere almeno %{count} lettere maiuscole
|
19
|
+
devise:
|
20
|
+
invalid_captcha: "Il captcha inserito non è valido!"
|
21
|
+
invalid_security_question: 'La risposta alla domanda di sicurezza non è valida.'
|
22
|
+
paranoid_verify:
|
23
|
+
code_required: 'Inserisci il codice fornito dal nostro team di supporto'
|
24
|
+
paranoid_verification_code:
|
25
|
+
show:
|
26
|
+
submit_verification_code: Invia codice di verifica
|
27
|
+
verification_code: Codice di verifica
|
28
|
+
submit: Invia
|
29
|
+
password_expired:
|
30
|
+
updated: "La tua nuova password è stata salvata."
|
31
|
+
change_required: "La tua password è scaduta. Si prega di rinnovarla!"
|
32
|
+
show:
|
33
|
+
renew_your_password: Rinnova la tua password
|
34
|
+
current_password: Password attuale
|
35
|
+
new_password: Nuova password
|
36
|
+
new_password_confirmation: Conferma nuova password
|
37
|
+
change_my_password: Cambia la mia password
|
38
|
+
failure:
|
39
|
+
session_limited: "Hai effettuato l accesso in un altro browser. Fai nuovamente l accesso per connetterti in questo."
|
40
|
+
expired: 'Il tuo account è stato bloccato per inattività. Contatta l amministratore del sito.'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
ja:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'は既に使われています。'
|
5
|
+
equal_to_current_password: 'は現在のパスワードと異なるものである必要があります。'
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: は最低1つの数字を含む必要があります。
|
9
|
+
other: は最低%{count}つの数字を含む必要があります。
|
10
|
+
lower:
|
11
|
+
one: は最低1つの小文字英字を含む必要があります。
|
12
|
+
other: は最低%{count}つの小文字英字を含む必要があります。
|
13
|
+
symbol:
|
14
|
+
one: は最低1つの記号を含む必要があります。
|
15
|
+
other: は最低%{count}つの記号を含む必要があります。
|
16
|
+
upper:
|
17
|
+
one: は最低1つの大文字英字を含む必要があります。
|
18
|
+
other: は最低%{count}つの大文字英字を含む必要があります。
|
19
|
+
devise:
|
20
|
+
invalid_captcha: 'キャプチャ入力が不正です。'
|
21
|
+
invalid_security_question: 'セキュリティ質問に対する回答が不正です。'
|
22
|
+
paranoid_verify:
|
23
|
+
code_required: 'サポートチームに提供された認証コードを入力してください。'
|
24
|
+
password_expired:
|
25
|
+
updated: '新しいパスワードが保存されました。'
|
26
|
+
change_required: 'パスワードが期限切れです。パスワードを新しく設定してください。'
|
27
|
+
failure:
|
28
|
+
session_limited: '他のブラウザでログインされました。このブラウザで続ける場合は、もう一度サインインしてください。'
|
29
|
+
expired: '活動がなかったため、あなたのアカウントは期限切れとなりました。サイト管理者に連絡してください。'
|
@@ -0,0 +1,40 @@
|
|
1
|
+
nl:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: is eerder gebruikt.
|
5
|
+
equal_to_current_password: moet verschillen van het huidige wachtwoord.
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: moet minimaal 1 cijfer bevatten
|
9
|
+
other: moet minimaal %{count} cijfers bevatten
|
10
|
+
lower:
|
11
|
+
one: moet minimaal 1 kleine letter bevatten
|
12
|
+
other: moet minimaal %{count} kleine letters bevatten
|
13
|
+
symbol:
|
14
|
+
one: moet minimaal 1 leesteken of symbool bevatten
|
15
|
+
other: moet minimaal %{count} leestekens of symbolen bevatten
|
16
|
+
upper:
|
17
|
+
one: moet minimaal 1 hoofdletter bevatten
|
18
|
+
other: moet minimaal %{count} hoofdletters bevatten
|
19
|
+
devise:
|
20
|
+
invalid_captcha: De captcha invoer was ongeldig.
|
21
|
+
invalid_security_question: Het antwoord op de beveiligingsvraag was niet correct.
|
22
|
+
paranoid_verify:
|
23
|
+
code_required: Voer de aangeleverde code in
|
24
|
+
paranoid_verification_code:
|
25
|
+
show:
|
26
|
+
submit_verification_code: Verstuur verificatie code
|
27
|
+
verification_code: Verificatie code
|
28
|
+
submit: Verstuur
|
29
|
+
password_expired:
|
30
|
+
updated: Het nieuwe wachtwoord is opgeslagen.
|
31
|
+
change_required: Het wachtwoord is verlopen. Vernieuw je wachtwoord.
|
32
|
+
show:
|
33
|
+
renew_your_password: Vernieuw je wachtwoord
|
34
|
+
current_password: Huidig wachtwoord
|
35
|
+
new_password: Nieuw wachtwoord
|
36
|
+
new_password_confirmation: Bevestig het nieuwe wachtwoord
|
37
|
+
change_my_password: Verander mijn wachtwoord
|
38
|
+
failure:
|
39
|
+
session_limited: Je login is in een andere browser gebruikt. Log hier opnieuw in.
|
40
|
+
expired: Je account is verlopen. Neem contact op met de site beheerder.
|
@@ -0,0 +1,40 @@
|
|
1
|
+
pt:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'foi usada anteriormente.'
|
5
|
+
equal_to_current_password: 'deve ser diferente da senha atual.'
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: deve conter ao menos um dígito
|
9
|
+
other: deve conter ao menos %{count} dígitos
|
10
|
+
lower:
|
11
|
+
one: deve conter ao menos uma letra minúscula
|
12
|
+
other: deve conter ao menos %{count} letras minúsculas
|
13
|
+
symbol:
|
14
|
+
one: deve conter ao menos um símbolo
|
15
|
+
other: deve conter ao menos %{count} símbolos
|
16
|
+
upper:
|
17
|
+
one: deve conter ao menos uma letra maiúscula
|
18
|
+
other: deve conter ao menos %{count} letras maiúsculas
|
19
|
+
devise:
|
20
|
+
invalid_captcha: 'O captcha está errado.'
|
21
|
+
invalid_security_question: 'A resposta da pergunta de segurança está errada.'
|
22
|
+
paranoid_verify:
|
23
|
+
code_required: 'Por favor entre o código que a equipe de suporte enviou'
|
24
|
+
paranoid_verification_code:
|
25
|
+
show:
|
26
|
+
submit_verification_code: Enviar código de verificação
|
27
|
+
verification_code: Código de verificação
|
28
|
+
submit: Enviar
|
29
|
+
password_expired:
|
30
|
+
updated: 'A nova senha foi salva.'
|
31
|
+
change_required: 'Sua senha expirou. Renove sua senha por favor.'
|
32
|
+
show:
|
33
|
+
renew_your_password: Renove sua senha
|
34
|
+
current_password: Senha atual
|
35
|
+
new_password: Senha nova
|
36
|
+
new_password_confirmation: Confirmar senha nova
|
37
|
+
change_my_password: Mudar minha senha
|
38
|
+
failure:
|
39
|
+
session_limited: 'Seu login foi utilizado em outro local. Faça o login novamente para continuar.'
|
40
|
+
expired: 'Sua conta expirou por inatividade. Por favor contate o administrador do site.'
|
@@ -0,0 +1,48 @@
|
|
1
|
+
ru:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'уже ранее использовался.'
|
5
|
+
equal_to_current_password: 'должен отличаться от текущего пароля.'
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: 'должен содержать хотя бы одну цифру'
|
9
|
+
few: 'должен содержать хотя бы %{count} цифры'
|
10
|
+
many: 'должен содержать хотя бы %{count} цифр'
|
11
|
+
other: 'должен содержать хотя бы %{count} цифры'
|
12
|
+
lower:
|
13
|
+
one: 'должен содержать хотя бы одну строчную букву'
|
14
|
+
few: 'должен содержать хотя бы %{count} строчные буквы'
|
15
|
+
many: 'должен содержать хотя бы %{count} строчных букв'
|
16
|
+
other: 'должен содержать хотя бы %{count} строчных букв'
|
17
|
+
symbol:
|
18
|
+
one: 'должен содержать хотя бы один знак пунктуации или символ'
|
19
|
+
few: 'должен содержать хотя бы %{count} знака пунктуации или символа'
|
20
|
+
many: 'должен содержать хотя бы %{count} знаков пунктуации или символов'
|
21
|
+
other: 'должен содержать хотя бы %{count} знаков пунктуации или символов'
|
22
|
+
upper:
|
23
|
+
one: 'должен содержать хотя бы одну прописную букву'
|
24
|
+
few: 'должен содержать хотя бы %{count} прописные буквы'
|
25
|
+
many: 'должен содержать хотя бы %{count} прописных букв'
|
26
|
+
other: 'должен содержать хотя бы %{count} прописных букв'
|
27
|
+
devise:
|
28
|
+
invalid_captcha: 'Введен неправильный код капчи.'
|
29
|
+
invalid_security_question: 'Ответ на секретный вопрос был неверным.'
|
30
|
+
paranoid_verify:
|
31
|
+
code_required: 'Пожалуйста введите код, полученный от нашей команды поддержки'
|
32
|
+
paranoid_verification_code:
|
33
|
+
show:
|
34
|
+
submit_verification_code: Ввод кода подтверждения
|
35
|
+
verification_code: Код подверждения
|
36
|
+
submit: Отправить
|
37
|
+
password_expired:
|
38
|
+
updated: 'Ваш новый пароль сохранен.'
|
39
|
+
change_required: 'Ваш пароль устарел. Пожалуйста, установите новый.'
|
40
|
+
show:
|
41
|
+
renew_your_password: Смена пароля
|
42
|
+
current_password: Текущий пароль
|
43
|
+
new_password: Новый пароль
|
44
|
+
new_password_confirmation: Подтвердите новый пароль
|
45
|
+
change_my_password: Поменять пароль
|
46
|
+
failure:
|
47
|
+
session_limited: 'Ваши параметры входа используются в другом браузере. Пожалуйста, авторизуйтесь снова, чтобы продолжить в этом браузере.'
|
48
|
+
expired: 'Ваш аккаунт устарел из-за неактивности. Пожалуйста, свяжитесь с администратором.'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
tr:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: "daha önce kullanıldı."
|
5
|
+
equal_to_current_password: "mevcut paroladan farklı olmalı."
|
6
|
+
password_format: "büyük, küçük harfler ve sayılar içermeli."
|
7
|
+
devise:
|
8
|
+
invalid_captcha: "Captcha hatalı."
|
9
|
+
invalid_security_question: "Güvenlik sorusunun cevabı yanlış."
|
10
|
+
paranoid_verify:
|
11
|
+
code_required: "Destek ekibimizden aldığınız kodu girin."
|
12
|
+
password_expired:
|
13
|
+
updated: "Yeni parolanız kaydedildi."
|
14
|
+
change_required: "Parolanızın geçerlilik süresi dolmuş. Lütfen parolanızı yenileyin."
|
15
|
+
failure:
|
16
|
+
session_limited: 'Hesabınıza başka bir tarayıcıdan giriş yapılmış. Lütfen devam etmek için yeniden giriş yapın.'
|
17
|
+
expired: 'Hesabınız aktif olarak kullanılmadığı için artık geçerli değil. Lütfen yönetici ile irtibata geçin.'
|
@@ -0,0 +1,48 @@
|
|
1
|
+
uk:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: 'раніше використовувався.'
|
5
|
+
equal_to_current_password: 'має відрізнятися від поточного паролю.'
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: 'повинен включати хоча б одну цифру'
|
9
|
+
few: 'повинен включати хоча б %{count} цифри'
|
10
|
+
many: 'повинен включати хоча б %{count} цифр'
|
11
|
+
other: 'повинен включати хоча б %{count} цифри'
|
12
|
+
lower:
|
13
|
+
one: 'повинен включати хоча б одну малу букву'
|
14
|
+
few: 'повинен включати хоча б %{count} малі букви'
|
15
|
+
many: 'повинен включати хоча б %{count} малих букв'
|
16
|
+
other: 'повинен включати хоча б %{count} малі букви'
|
17
|
+
symbol:
|
18
|
+
one: 'повинен включати хоча б один розділовий знак або символ'
|
19
|
+
few: 'повинен включати хоча б %{count} розділові знаки або символи'
|
20
|
+
many: 'повинен включати хоча б %{count} розділових знаків або символів'
|
21
|
+
other: 'повинен включати хоча б %{count} розділові знаки або символи'
|
22
|
+
upper:
|
23
|
+
one: 'повинен включати хоча б одну прописну букву'
|
24
|
+
few: 'повинен включати хоча б %{count} прописні букви'
|
25
|
+
many: 'повинен включати хоча б %{count} прописних букв'
|
26
|
+
other: 'повинен включати хоча б %{count} прописні букви'
|
27
|
+
devise:
|
28
|
+
invalid_captcha: 'Введення капчі недійсне.'
|
29
|
+
invalid_security_question: 'Неправильна відповідь на секретне питання.'
|
30
|
+
paranoid_verify:
|
31
|
+
code_required: 'Введіть, будь ласка, код від нашої команди підтримки'
|
32
|
+
paranoid_verification_code:
|
33
|
+
show:
|
34
|
+
submit_verification_code: Відправити код підтвердження
|
35
|
+
verification_code: Код підтвердження
|
36
|
+
submit: Відправити
|
37
|
+
password_expired:
|
38
|
+
updated: 'Ваш новий пароль збережено.'
|
39
|
+
change_required: 'Ваш пароль застарілий. Будь ласка, оновіть пароль.'
|
40
|
+
show:
|
41
|
+
renew_your_password: Оновити свій пароль
|
42
|
+
current_password: Теперішній пароль
|
43
|
+
new_password: Новий пароль
|
44
|
+
new_password_confirmation: Підтвердити новий пароль
|
45
|
+
change_my_password: Змінити пароль
|
46
|
+
failure:
|
47
|
+
session_limited: 'Ваші облікові дані були використані в іншому браузері. Будь ласка, авторизуйтесь знову щоб продовжити в цьому браузері.'
|
48
|
+
expired: "Ваш аккаунт застарів через неактивність. Будь ласка, зв'яжіться з адміністратором."
|
@@ -0,0 +1,40 @@
|
|
1
|
+
zh_CN:
|
2
|
+
errors:
|
3
|
+
messages:
|
4
|
+
taken_in_past: '曾被使用过。'
|
5
|
+
equal_to_current_password: '必须与当前密码不同。'
|
6
|
+
password_complexity:
|
7
|
+
digit:
|
8
|
+
one: 必须包含至少1个数字
|
9
|
+
other: 必须包含至少%{count}个数字
|
10
|
+
lower:
|
11
|
+
one: 必须包含至少1个小写字母
|
12
|
+
other: 必须包含至少%{count}个小写字母
|
13
|
+
symbol:
|
14
|
+
one: 必须包含至少1个特殊符号(!"#$%&'()*+,-./:;<=>?@[\]^_‘{|}~)
|
15
|
+
other: 必须包含至少%{count}个特殊符号(!"#$%&'()*+,-./:;<=>?@[\]^_‘{|}~)
|
16
|
+
upper:
|
17
|
+
one: 必须包含至少1个大写字母
|
18
|
+
other: 必须包含至少%{count}个大写字母
|
19
|
+
devise:
|
20
|
+
invalid_captcha: '验证码无效。'
|
21
|
+
invalid_security_question: '安全问题答案无效。'
|
22
|
+
paranoid_verify:
|
23
|
+
code_required: '请输入我们支持团队提供的代码'
|
24
|
+
paranoid_verification_code:
|
25
|
+
show:
|
26
|
+
submit_verification_code: 提交验证码
|
27
|
+
verification_code: 验证码
|
28
|
+
submit: 提交
|
29
|
+
password_expired:
|
30
|
+
updated: '你的新密码已保存。'
|
31
|
+
change_required: '你的密码已过期,请更新密码。'
|
32
|
+
show:
|
33
|
+
renew_your_password: 更新你的密码
|
34
|
+
current_password: 当前密码
|
35
|
+
new_password: 新密码
|
36
|
+
new_password_confirmation: 确认新密码
|
37
|
+
change_my_password: 更改密码
|
38
|
+
failure:
|
39
|
+
session_limited: '你的登录凭据已在另一个浏览器上被使用。请重新登录以在此浏览器继续。'
|
40
|
+
expired: '由于不活跃,你的账户已过期。请联系站点管理员。'
|
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.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marco Scholl
|
@@ -9,53 +9,47 @@ 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:
|
15
|
+
date: 2021-01-13 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
|
-
name:
|
18
|
+
name: devise
|
19
19
|
requirement: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 4.
|
23
|
+
version: 4.3.0
|
24
24
|
- - "<"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '5.0'
|
27
27
|
type: :runtime
|
28
28
|
prerelease: false
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 4.
|
33
|
+
version: 4.3.0
|
34
34
|
- - "<"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: '
|
36
|
+
version: '5.0'
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
38
|
+
name: appraisal
|
39
39
|
requirement: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
44
|
-
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '5.0'
|
47
|
-
type: :runtime
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
48
45
|
prerelease: false
|
49
46
|
version_requirements: !ruby/object:Gem::Requirement
|
50
47
|
requirements:
|
51
48
|
- - ">="
|
52
49
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
54
|
-
- - "<"
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: '5.0'
|
50
|
+
version: '0'
|
57
51
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
52
|
+
name: bundler
|
59
53
|
requirement: !ruby/object:Gem::Requirement
|
60
54
|
requirements:
|
61
55
|
- - ">="
|
@@ -69,7 +63,7 @@ dependencies:
|
|
69
63
|
- !ruby/object:Gem::Version
|
70
64
|
version: '0'
|
71
65
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
66
|
+
name: database_cleaner
|
73
67
|
requirement: !ruby/object:Gem::Requirement
|
74
68
|
requirements:
|
75
69
|
- - ">="
|
@@ -83,7 +77,7 @@ dependencies:
|
|
83
77
|
- !ruby/object:Gem::Version
|
84
78
|
version: '0'
|
85
79
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
80
|
+
name: easy_captcha
|
87
81
|
requirement: !ruby/object:Gem::Requirement
|
88
82
|
requirements:
|
89
83
|
- - ">="
|
@@ -97,7 +91,7 @@ dependencies:
|
|
97
91
|
- !ruby/object:Gem::Version
|
98
92
|
version: '0'
|
99
93
|
- !ruby/object:Gem::Dependency
|
100
|
-
name:
|
94
|
+
name: m
|
101
95
|
requirement: !ruby/object:Gem::Requirement
|
102
96
|
requirements:
|
103
97
|
- - ">="
|
@@ -111,7 +105,7 @@ dependencies:
|
|
111
105
|
- !ruby/object:Gem::Version
|
112
106
|
version: '0'
|
113
107
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
108
|
+
name: minitest
|
115
109
|
requirement: !ruby/object:Gem::Requirement
|
116
110
|
requirements:
|
117
111
|
- - ">="
|
@@ -125,7 +119,7 @@ dependencies:
|
|
125
119
|
- !ruby/object:Gem::Version
|
126
120
|
version: '0'
|
127
121
|
- !ruby/object:Gem::Dependency
|
128
|
-
name:
|
122
|
+
name: omniauth
|
129
123
|
requirement: !ruby/object:Gem::Requirement
|
130
124
|
requirements:
|
131
125
|
- - ">="
|
@@ -139,7 +133,7 @@ dependencies:
|
|
139
133
|
- !ruby/object:Gem::Version
|
140
134
|
version: '0'
|
141
135
|
- !ruby/object:Gem::Dependency
|
142
|
-
name:
|
136
|
+
name: pry-byebug
|
143
137
|
requirement: !ruby/object:Gem::Requirement
|
144
138
|
requirements:
|
145
139
|
- - ">="
|
@@ -153,7 +147,7 @@ dependencies:
|
|
153
147
|
- !ruby/object:Gem::Version
|
154
148
|
version: '0'
|
155
149
|
- !ruby/object:Gem::Dependency
|
156
|
-
name:
|
150
|
+
name: pry-rescue
|
157
151
|
requirement: !ruby/object:Gem::Requirement
|
158
152
|
requirements:
|
159
153
|
- - ">="
|
@@ -167,7 +161,7 @@ dependencies:
|
|
167
161
|
- !ruby/object:Gem::Version
|
168
162
|
version: '0'
|
169
163
|
- !ruby/object:Gem::Dependency
|
170
|
-
name:
|
164
|
+
name: rails_email_validator
|
171
165
|
requirement: !ruby/object:Gem::Requirement
|
172
166
|
requirements:
|
173
167
|
- - ">="
|
@@ -181,7 +175,21 @@ dependencies:
|
|
181
175
|
- !ruby/object:Gem::Version
|
182
176
|
version: '0'
|
183
177
|
- !ruby/object:Gem::Dependency
|
184
|
-
name:
|
178
|
+
name: rubocop
|
179
|
+
requirement: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - "~>"
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: 0.80.0
|
184
|
+
type: :development
|
185
|
+
prerelease: false
|
186
|
+
version_requirements: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - "~>"
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: 0.80.0
|
191
|
+
- !ruby/object:Gem::Dependency
|
192
|
+
name: rubocop-rails
|
185
193
|
requirement: !ruby/object:Gem::Requirement
|
186
194
|
requirements:
|
187
195
|
- - ">="
|
@@ -195,7 +203,7 @@ dependencies:
|
|
195
203
|
- !ruby/object:Gem::Version
|
196
204
|
version: '0'
|
197
205
|
- !ruby/object:Gem::Dependency
|
198
|
-
name:
|
206
|
+
name: simplecov-lcov
|
199
207
|
requirement: !ruby/object:Gem::Requirement
|
200
208
|
requirements:
|
201
209
|
- - ">="
|
@@ -209,19 +217,19 @@ dependencies:
|
|
209
217
|
- !ruby/object:Gem::Version
|
210
218
|
version: '0'
|
211
219
|
- !ruby/object:Gem::Dependency
|
212
|
-
name:
|
220
|
+
name: solargraph
|
213
221
|
requirement: !ruby/object:Gem::Requirement
|
214
222
|
requirements:
|
215
|
-
- - "
|
223
|
+
- - ">="
|
216
224
|
- !ruby/object:Gem::Version
|
217
|
-
version: 0
|
225
|
+
version: '0'
|
218
226
|
type: :development
|
219
227
|
prerelease: false
|
220
228
|
version_requirements: !ruby/object:Gem::Requirement
|
221
229
|
requirements:
|
222
|
-
- - "
|
230
|
+
- - ">="
|
223
231
|
- !ruby/object:Gem::Version
|
224
|
-
version: 0
|
232
|
+
version: '0'
|
225
233
|
- !ruby/object:Gem::Dependency
|
226
234
|
name: sqlite3
|
227
235
|
requirement: !ruby/object:Gem::Requirement
|
@@ -256,35 +264,29 @@ executables: []
|
|
256
264
|
extensions: []
|
257
265
|
extra_rdoc_files: []
|
258
266
|
files:
|
259
|
-
- ".codeclimate.yml"
|
260
|
-
- ".document"
|
261
|
-
- ".gitignore"
|
262
|
-
- ".mdlrc"
|
263
|
-
- ".rubocop.yml"
|
264
|
-
- ".ruby-version"
|
265
|
-
- ".travis.yml"
|
266
|
-
- Appraisals
|
267
|
-
- Gemfile
|
268
267
|
- LICENSE.txt
|
269
268
|
- README.md
|
270
|
-
- Rakefile
|
271
269
|
- app/controllers/devise/paranoid_verification_code_controller.rb
|
272
270
|
- app/controllers/devise/password_expired_controller.rb
|
273
271
|
- app/views/devise/paranoid_verification_code/show.html.erb
|
274
272
|
- app/views/devise/password_expired/show.html.erb
|
273
|
+
- config/locales/by.yml
|
274
|
+
- config/locales/cs.yml
|
275
275
|
- config/locales/de.yml
|
276
276
|
- config/locales/en.yml
|
277
277
|
- config/locales/es.yml
|
278
|
+
- config/locales/fa.yml
|
278
279
|
- config/locales/fr.yml
|
280
|
+
- config/locales/hi.yml
|
279
281
|
- config/locales/it.yml
|
280
282
|
- config/locales/ja.yml
|
283
|
+
- config/locales/nl.yml
|
284
|
+
- config/locales/pt.yml
|
285
|
+
- config/locales/ru.yml
|
281
286
|
- config/locales/tr.yml
|
282
|
-
-
|
283
|
-
-
|
284
|
-
-
|
285
|
-
- gemfiles/rails_5.1_stable.gemfile
|
286
|
-
- gemfiles/rails_5.2_stable.gemfile
|
287
|
-
- gemfiles/rails_6.0_beta.gemfile
|
287
|
+
- config/locales/uk.yml
|
288
|
+
- config/locales/zh_CN.yml
|
289
|
+
- config/locales/zh_TW.yml
|
288
290
|
- lib/devise-security.rb
|
289
291
|
- lib/devise-security/controllers/helpers.rb
|
290
292
|
- lib/devise-security/hooks/expirable.rb
|
@@ -293,8 +295,8 @@ files:
|
|
293
295
|
- lib/devise-security/hooks/session_limitable.rb
|
294
296
|
- lib/devise-security/models/active_record/old_password.rb
|
295
297
|
- lib/devise-security/models/compatibility.rb
|
296
|
-
- lib/devise-security/models/compatibility/
|
297
|
-
- lib/devise-security/models/compatibility/
|
298
|
+
- lib/devise-security/models/compatibility/active_record_patch.rb
|
299
|
+
- lib/devise-security/models/compatibility/mongoid_patch.rb
|
298
300
|
- lib/devise-security/models/database_authenticatable_patch.rb
|
299
301
|
- lib/devise-security/models/expirable.rb
|
300
302
|
- lib/devise-security/models/mongoid/old_password.rb
|
@@ -324,12 +326,16 @@ files:
|
|
324
326
|
- lib/devise-security/version.rb
|
325
327
|
- lib/generators/devise_security/install_generator.rb
|
326
328
|
- lib/generators/templates/devise-security.rb
|
329
|
+
- test/controllers/test_captcha_controller.rb
|
330
|
+
- test/controllers/test_password_expired_controller.rb
|
331
|
+
- test/controllers/test_security_question_controller.rb
|
327
332
|
- test/dummy/Rakefile
|
333
|
+
- test/dummy/app/assets/config/manifest.js
|
328
334
|
- test/dummy/app/controllers/application_controller.rb
|
329
335
|
- test/dummy/app/controllers/captcha/sessions_controller.rb
|
330
336
|
- test/dummy/app/controllers/foos_controller.rb
|
331
337
|
- test/dummy/app/controllers/security_question/unlocks_controller.rb
|
332
|
-
- test/dummy/app/
|
338
|
+
- test/dummy/app/controllers/widgets_controller.rb
|
333
339
|
- test/dummy/app/models/application_record.rb
|
334
340
|
- test/dummy/app/models/application_user_record.rb
|
335
341
|
- test/dummy/app/models/captcha_user.rb
|
@@ -390,24 +396,42 @@ files:
|
|
390
396
|
- test/dummy/lib/shared_user_without_email.rb
|
391
397
|
- test/dummy/lib/shared_user_without_omniauth.rb
|
392
398
|
- test/dummy/lib/shared_verification_fields.rb
|
399
|
+
- test/dummy/log/test.log
|
400
|
+
- test/integration/test_password_expirable_workflow.rb
|
401
|
+
- test/integration/test_session_limitable_workflow.rb
|
393
402
|
- test/orm/active_record.rb
|
394
403
|
- test/orm/mongoid.rb
|
404
|
+
- test/support/integration_helpers.rb
|
395
405
|
- test/support/mongoid.yml
|
396
|
-
- test/
|
406
|
+
- test/test_compatibility.rb
|
397
407
|
- test/test_complexity_validator.rb
|
398
408
|
- test/test_helper.rb
|
399
409
|
- test/test_install_generator.rb
|
400
410
|
- test/test_paranoid_verification.rb
|
401
411
|
- test/test_password_archivable.rb
|
402
412
|
- test/test_password_expirable.rb
|
403
|
-
- test/test_password_expired_controller.rb
|
404
413
|
- test/test_secure_validatable.rb
|
405
|
-
- test/
|
414
|
+
- test/test_session_limitable.rb
|
415
|
+
- test/tmp/config/initializers/devise-security.rb
|
416
|
+
- test/tmp/config/locales/devise.security_extension.de.yml
|
417
|
+
- test/tmp/config/locales/devise.security_extension.en.yml
|
418
|
+
- test/tmp/config/locales/devise.security_extension.es.yml
|
419
|
+
- test/tmp/config/locales/devise.security_extension.fa.yml
|
420
|
+
- test/tmp/config/locales/devise.security_extension.fr.yml
|
421
|
+
- test/tmp/config/locales/devise.security_extension.it.yml
|
422
|
+
- test/tmp/config/locales/devise.security_extension.ja.yml
|
423
|
+
- test/tmp/config/locales/devise.security_extension.nl.yml
|
424
|
+
- test/tmp/config/locales/devise.security_extension.pt.yml
|
425
|
+
- test/tmp/config/locales/devise.security_extension.ru.yml
|
426
|
+
- test/tmp/config/locales/devise.security_extension.tr.yml
|
427
|
+
- test/tmp/config/locales/devise.security_extension.uk.yml
|
428
|
+
- test/tmp/config/locales/devise.security_extension.zh_CN.yml
|
406
429
|
homepage: https://github.com/devise-security/devise-security
|
407
430
|
licenses:
|
408
431
|
- MIT
|
409
432
|
metadata: {}
|
410
|
-
post_install_message:
|
433
|
+
post_install_message: 'WARNING: devise-security will drop support for Rails 4.2 in
|
434
|
+
version 0.16.0'
|
411
435
|
rdoc_options: []
|
412
436
|
require_paths:
|
413
437
|
- lib
|
@@ -418,92 +442,112 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
418
442
|
version: 2.3.0
|
419
443
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
420
444
|
requirements:
|
421
|
-
- - "
|
445
|
+
- - ">="
|
422
446
|
- !ruby/object:Gem::Version
|
423
|
-
version:
|
447
|
+
version: '0'
|
424
448
|
requirements: []
|
425
|
-
|
426
|
-
|
427
|
-
signing_key:
|
449
|
+
rubygems_version: 3.0.8
|
450
|
+
signing_key:
|
428
451
|
specification_version: 4
|
429
452
|
summary: Security extension for devise
|
430
453
|
test_files:
|
431
|
-
- test/
|
432
|
-
- test/dummy/app/
|
433
|
-
- test/dummy/app/
|
434
|
-
- test/dummy/app/
|
435
|
-
- test/dummy/app/
|
436
|
-
- test/dummy/app/
|
437
|
-
- test/dummy/app/
|
438
|
-
- test/dummy/app/
|
439
|
-
- test/dummy/app/models/
|
440
|
-
- test/dummy/app/models/mongoid/
|
441
|
-
- test/dummy/app/models/mongoid/database_authenticable_fields.rb
|
442
|
-
- test/dummy/app/models/mongoid/expirable_fields.rb
|
443
|
-
- test/dummy/app/models/mongoid/lockable_fields.rb
|
454
|
+
- test/test_password_archivable.rb
|
455
|
+
- test/dummy/app/mongoid/shim.rb
|
456
|
+
- test/dummy/app/mongoid/user_on_main_app.rb
|
457
|
+
- test/dummy/app/mongoid/user_on_engine.rb
|
458
|
+
- test/dummy/app/mongoid/one_user.rb
|
459
|
+
- test/dummy/app/mongoid/admin.rb
|
460
|
+
- test/dummy/app/mongoid/user_with_validations.rb
|
461
|
+
- test/dummy/app/mongoid/user_without_email.rb
|
462
|
+
- test/dummy/app/models/mongoid/password_archivable_fields.rb
|
463
|
+
- test/dummy/app/models/mongoid/registerable_fields.rb
|
444
464
|
- test/dummy/app/models/mongoid/mappings.rb
|
445
|
-
- test/dummy/app/models/mongoid/
|
465
|
+
- test/dummy/app/models/mongoid/session_limitable_fields.rb
|
466
|
+
- test/dummy/app/models/mongoid/timeoutable_fields.rb
|
446
467
|
- test/dummy/app/models/mongoid/paranoid_verification_fields.rb
|
447
|
-
- test/dummy/app/models/mongoid/
|
468
|
+
- test/dummy/app/models/mongoid/confirmable_fields.rb
|
448
469
|
- test/dummy/app/models/mongoid/password_expirable_fields.rb
|
449
|
-
- test/dummy/app/models/mongoid/
|
450
|
-
- test/dummy/app/models/mongoid/
|
451
|
-
- test/dummy/app/models/mongoid/rememberable_fields.rb
|
470
|
+
- test/dummy/app/models/mongoid/expirable_fields.rb
|
471
|
+
- test/dummy/app/models/mongoid/database_authenticable_fields.rb
|
452
472
|
- test/dummy/app/models/mongoid/secure_validatable_fields.rb
|
473
|
+
- test/dummy/app/models/mongoid/rememberable_fields.rb
|
474
|
+
- test/dummy/app/models/mongoid/lockable_fields.rb
|
453
475
|
- test/dummy/app/models/mongoid/security_questionable_fields.rb
|
454
|
-
- test/dummy/app/models/mongoid/session_limitable_fields.rb
|
455
|
-
- test/dummy/app/models/mongoid/timeoutable_fields.rb
|
456
|
-
- test/dummy/app/models/mongoid/trackable_fields.rb
|
457
476
|
- test/dummy/app/models/mongoid/validatable_fields.rb
|
458
|
-
- test/dummy/app/models/
|
477
|
+
- test/dummy/app/models/mongoid/trackable_fields.rb
|
478
|
+
- test/dummy/app/models/mongoid/recoverable_fields.rb
|
479
|
+
- test/dummy/app/models/mongoid/omniauthable_fields.rb
|
459
480
|
- test/dummy/app/models/security_question_user.rb
|
460
|
-
- test/dummy/app/models/
|
481
|
+
- test/dummy/app/models/application_user_record.rb
|
482
|
+
- test/dummy/app/models/secure_user.rb
|
461
483
|
- test/dummy/app/models/widget.rb
|
462
|
-
- test/dummy/app/
|
463
|
-
- test/dummy/app/
|
464
|
-
- test/dummy/app/
|
465
|
-
- test/dummy/app/
|
466
|
-
- test/dummy/app/
|
467
|
-
- test/dummy/app/
|
468
|
-
- test/dummy/app/
|
484
|
+
- test/dummy/app/models/application_record.rb
|
485
|
+
- test/dummy/app/models/captcha_user.rb
|
486
|
+
- test/dummy/app/models/user.rb
|
487
|
+
- test/dummy/app/controllers/application_controller.rb
|
488
|
+
- test/dummy/app/controllers/captcha/sessions_controller.rb
|
489
|
+
- test/dummy/app/controllers/foos_controller.rb
|
490
|
+
- test/dummy/app/controllers/widgets_controller.rb
|
491
|
+
- test/dummy/app/controllers/security_question/unlocks_controller.rb
|
469
492
|
- test/dummy/app/views/foos/index.html.erb
|
470
|
-
- test/dummy/config.
|
493
|
+
- test/dummy/app/assets/config/manifest.js
|
494
|
+
- test/dummy/config/secrets.yml
|
495
|
+
- test/dummy/config/routes.rb
|
496
|
+
- test/dummy/config/mongoid.yml
|
497
|
+
- test/dummy/config/environments/test.rb
|
498
|
+
- test/dummy/config/environment.rb
|
471
499
|
- test/dummy/config/application.rb
|
472
|
-
- test/dummy/config/boot.rb
|
473
500
|
- test/dummy/config/database.yml
|
474
|
-
- test/dummy/config/
|
475
|
-
- test/dummy/config/environments/test.rb
|
476
|
-
- test/dummy/config/initializers/devise.rb
|
501
|
+
- test/dummy/config/boot.rb
|
477
502
|
- test/dummy/config/initializers/migration_class.rb
|
478
|
-
- test/dummy/config/
|
479
|
-
- test/dummy/config
|
480
|
-
- test/dummy/
|
503
|
+
- test/dummy/config/initializers/devise.rb
|
504
|
+
- test/dummy/config.ru
|
505
|
+
- test/dummy/Rakefile
|
506
|
+
- test/dummy/lib/shared_verification_fields.rb
|
507
|
+
- test/dummy/lib/shared_user.rb
|
508
|
+
- test/dummy/lib/shared_user_without_email.rb
|
509
|
+
- test/dummy/lib/shared_user_without_omniauth.rb
|
510
|
+
- test/dummy/lib/shared_user_with_password_verification.rb
|
511
|
+
- test/dummy/lib/shared_expirable_columns.rb
|
512
|
+
- test/dummy/lib/shared_security_questions_fields.rb
|
481
513
|
- test/dummy/db/migrate/20120508165529_create_tables.rb
|
482
514
|
- test/dummy/db/migrate/20150402165590_add_verification_columns.rb
|
483
|
-
- test/dummy/db/migrate/
|
515
|
+
- test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
|
516
|
+
- test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb
|
484
517
|
- test/dummy/db/migrate/20160320162345_add_security_questions_fields.rb
|
518
|
+
- test/dummy/db/migrate/20180319114023_add_widget.rb
|
485
519
|
- test/dummy/db/migrate/20180318103603_add_expireable_columns.rb
|
520
|
+
- test/dummy/db/migrate/20150407162345_add_verification_attempt_column.rb
|
486
521
|
- test/dummy/db/migrate/20180318105329_add_confirmable_columns.rb
|
487
|
-
- test/dummy/
|
488
|
-
- test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
|
489
|
-
- test/dummy/db/migrate/20180319114023_add_widget.rb
|
490
|
-
- test/dummy/lib/shared_expirable_columns.rb
|
491
|
-
- test/dummy/lib/shared_security_questions_fields.rb
|
492
|
-
- test/dummy/lib/shared_user.rb
|
493
|
-
- test/dummy/lib/shared_user_with_password_verification.rb
|
494
|
-
- test/dummy/lib/shared_user_without_email.rb
|
495
|
-
- test/dummy/lib/shared_user_without_omniauth.rb
|
496
|
-
- test/dummy/lib/shared_verification_fields.rb
|
497
|
-
- test/orm/active_record.rb
|
498
|
-
- test/orm/mongoid.rb
|
499
|
-
- test/support/mongoid.yml
|
500
|
-
- test/test_captcha_controller.rb
|
501
|
-
- test/test_complexity_validator.rb
|
502
|
-
- test/test_helper.rb
|
522
|
+
- test/dummy/log/test.log
|
503
523
|
- test/test_install_generator.rb
|
504
524
|
- test/test_paranoid_verification.rb
|
505
|
-
- test/
|
506
|
-
- test/
|
507
|
-
- test/test_password_expired_controller.rb
|
525
|
+
- test/integration/test_session_limitable_workflow.rb
|
526
|
+
- test/integration/test_password_expirable_workflow.rb
|
508
527
|
- test/test_secure_validatable.rb
|
509
|
-
- test/
|
528
|
+
- test/test_session_limitable.rb
|
529
|
+
- test/support/mongoid.yml
|
530
|
+
- test/support/integration_helpers.rb
|
531
|
+
- test/test_helper.rb
|
532
|
+
- test/orm/mongoid.rb
|
533
|
+
- test/orm/active_record.rb
|
534
|
+
- test/test_compatibility.rb
|
535
|
+
- test/test_password_expirable.rb
|
536
|
+
- test/controllers/test_security_question_controller.rb
|
537
|
+
- test/controllers/test_captcha_controller.rb
|
538
|
+
- test/controllers/test_password_expired_controller.rb
|
539
|
+
- test/tmp/config/locales/devise.security_extension.nl.yml
|
540
|
+
- test/tmp/config/locales/devise.security_extension.tr.yml
|
541
|
+
- test/tmp/config/locales/devise.security_extension.ru.yml
|
542
|
+
- test/tmp/config/locales/devise.security_extension.fr.yml
|
543
|
+
- test/tmp/config/locales/devise.security_extension.fa.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/initializers/devise-security.rb
|
553
|
+
- test/test_complexity_validator.rb
|