devise-security 0.14.3 → 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.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +114 -58
  3. data/app/controllers/devise/password_expired_controller.rb +10 -1
  4. data/app/views/devise/paranoid_verification_code/show.html.erb +3 -3
  5. data/app/views/devise/password_expired/show.html.erb +5 -5
  6. data/config/locales/by.yml +48 -0
  7. data/config/locales/cs.yml +40 -0
  8. data/config/locales/de.yml +12 -2
  9. data/config/locales/en.yml +12 -1
  10. data/config/locales/es.yml +9 -9
  11. data/config/locales/fa.yml +40 -0
  12. data/config/locales/hi.yml +41 -0
  13. data/config/locales/it.yml +34 -4
  14. data/config/locales/ja.yml +1 -1
  15. data/config/locales/nl.yml +40 -0
  16. data/config/locales/pt.yml +40 -0
  17. data/config/locales/ru.yml +48 -0
  18. data/config/locales/uk.yml +48 -0
  19. data/config/locales/zh_CN.yml +40 -0
  20. data/config/locales/zh_TW.yml +40 -0
  21. data/lib/devise-security/controllers/helpers.rb +59 -50
  22. data/lib/devise-security/hooks/password_expirable.rb +2 -0
  23. data/lib/devise-security/hooks/session_limitable.rb +13 -7
  24. data/lib/devise-security/models/password_expirable.rb +5 -1
  25. data/lib/devise-security/models/session_limitable.rb +8 -1
  26. data/lib/devise-security/validators/password_complexity_validator.rb +4 -2
  27. data/lib/devise-security/version.rb +1 -1
  28. data/lib/generators/devise_security/install_generator.rb +2 -2
  29. data/test/controllers/test_password_expired_controller.rb +111 -16
  30. data/test/dummy/app/assets/config/manifest.js +3 -0
  31. data/test/dummy/config/routes.rb +3 -3
  32. data/test/dummy/log/test.log +1799 -0
  33. data/test/integration/test_password_expirable_workflow.rb +57 -0
  34. data/test/orm/active_record.rb +4 -1
  35. data/test/support/integration_helpers.rb +1 -1
  36. data/test/test_complexity_validator.rb +12 -0
  37. data/test/test_helper.rb +10 -3
  38. data/test/test_install_generator.rb +10 -0
  39. data/test/test_session_limitable.rb +17 -0
  40. data/test/tmp/config/initializers/devise-security.rb +44 -0
  41. data/test/tmp/config/locales/devise.security_extension.de.yml +38 -0
  42. data/test/tmp/config/locales/devise.security_extension.en.yml +40 -0
  43. data/test/tmp/config/locales/devise.security_extension.es.yml +29 -0
  44. data/test/tmp/config/locales/devise.security_extension.fa.yml +40 -0
  45. data/test/tmp/config/locales/devise.security_extension.fr.yml +29 -0
  46. data/test/tmp/config/locales/devise.security_extension.it.yml +40 -0
  47. data/test/tmp/config/locales/devise.security_extension.ja.yml +29 -0
  48. data/test/tmp/config/locales/devise.security_extension.nl.yml +40 -0
  49. data/test/tmp/config/locales/devise.security_extension.pt.yml +40 -0
  50. data/test/tmp/config/locales/devise.security_extension.ru.yml +48 -0
  51. data/test/tmp/config/locales/devise.security_extension.tr.yml +17 -0
  52. data/test/tmp/config/locales/devise.security_extension.uk.yml +48 -0
  53. data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +40 -0
  54. metadata +152 -118
  55. data/.codeclimate.yml +0 -63
  56. data/.document +0 -5
  57. data/.gitignore +0 -43
  58. data/.mdlrc +0 -1
  59. data/.rubocop.yml +0 -64
  60. data/.ruby-version +0 -1
  61. data/.travis.yml +0 -39
  62. data/Appraisals +0 -35
  63. data/Gemfile +0 -10
  64. data/Rakefile +0 -27
  65. data/devise-security.gemspec +0 -50
  66. data/gemfiles/rails_4.2_stable.gemfile +0 -16
  67. data/gemfiles/rails_5.0_stable.gemfile +0 -15
  68. data/gemfiles/rails_5.1_stable.gemfile +0 -15
  69. data/gemfiles/rails_5.2_stable.gemfile +0 -15
  70. data/gemfiles/rails_6.0_beta.gemfile +0 -15
  71. data/test/dummy/app/models/.gitkeep +0 -0
@@ -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.14.3
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: 2019-05-26 00:00:00.000000000 Z
15
+ date: 2021-01-13 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
- name: rails
18
+ name: devise
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 4.2.0
23
+ version: 4.3.0
24
24
  - - "<"
25
25
  - !ruby/object:Gem::Version
26
- version: '7.0'
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.2.0
33
+ version: 4.3.0
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '7.0'
36
+ version: '5.0'
37
37
  - !ruby/object:Gem::Dependency
38
- name: devise
38
+ name: appraisal
39
39
  requirement: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 4.3.0
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: 4.3.0
54
- - - "<"
55
- - !ruby/object:Gem::Version
56
- version: '5.0'
50
+ version: '0'
57
51
  - !ruby/object:Gem::Dependency
58
- name: appraisal
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: bundler
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: coveralls
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: database_cleaner
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: easy_captcha
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: m
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: minitest
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: omniauth
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: pry-byebug
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: pry-rescue
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: rails_email_validator
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: rubocop
220
+ name: solargraph
213
221
  requirement: !ruby/object:Gem::Requirement
214
222
  requirements:
215
- - - "~>"
223
+ - - ">="
216
224
  - !ruby/object:Gem::Version
217
- version: 0.66.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.66.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
- - devise-security.gemspec
283
- - gemfiles/rails_4.2_stable.gemfile
284
- - gemfiles/rails_5.0_stable.gemfile
285
- - gemfiles/rails_5.1_stable.gemfile
286
- - gemfiles/rails_5.2_stable.gemfile
287
- - gemfiles/rails_6.0_beta.gemfile
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
@@ -328,12 +330,12 @@ files:
328
330
  - test/controllers/test_password_expired_controller.rb
329
331
  - test/controllers/test_security_question_controller.rb
330
332
  - test/dummy/Rakefile
333
+ - test/dummy/app/assets/config/manifest.js
331
334
  - test/dummy/app/controllers/application_controller.rb
332
335
  - test/dummy/app/controllers/captcha/sessions_controller.rb
333
336
  - test/dummy/app/controllers/foos_controller.rb
334
337
  - test/dummy/app/controllers/security_question/unlocks_controller.rb
335
338
  - test/dummy/app/controllers/widgets_controller.rb
336
- - test/dummy/app/models/.gitkeep
337
339
  - test/dummy/app/models/application_record.rb
338
340
  - test/dummy/app/models/application_user_record.rb
339
341
  - test/dummy/app/models/captcha_user.rb
@@ -394,6 +396,8 @@ files:
394
396
  - test/dummy/lib/shared_user_without_email.rb
395
397
  - test/dummy/lib/shared_user_without_omniauth.rb
396
398
  - test/dummy/lib/shared_verification_fields.rb
399
+ - test/dummy/log/test.log
400
+ - test/integration/test_password_expirable_workflow.rb
397
401
  - test/integration/test_session_limitable_workflow.rb
398
402
  - test/orm/active_record.rb
399
403
  - test/orm/mongoid.rb
@@ -408,11 +412,26 @@ files:
408
412
  - test/test_password_expirable.rb
409
413
  - test/test_secure_validatable.rb
410
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
411
429
  homepage: https://github.com/devise-security/devise-security
412
430
  licenses:
413
431
  - MIT
414
432
  metadata: {}
415
- post_install_message:
433
+ post_install_message: 'WARNING: devise-security will drop support for Rails 4.2 in
434
+ version 0.16.0'
416
435
  rdoc_options: []
417
436
  require_paths:
418
437
  - lib
@@ -427,93 +446,108 @@ required_rubygems_version: !ruby/object:Gem::Requirement
427
446
  - !ruby/object:Gem::Version
428
447
  version: '0'
429
448
  requirements: []
430
- rubyforge_project:
431
- rubygems_version: 2.7.9
432
- signing_key:
449
+ rubygems_version: 3.0.8
450
+ signing_key:
433
451
  specification_version: 4
434
452
  summary: Security extension for devise
435
453
  test_files:
436
- - test/controllers/test_captcha_controller.rb
437
- - test/controllers/test_password_expired_controller.rb
438
- - test/controllers/test_security_question_controller.rb
439
- - test/dummy/Rakefile
440
- - test/dummy/app/controllers/application_controller.rb
441
- - test/dummy/app/controllers/captcha/sessions_controller.rb
442
- - test/dummy/app/controllers/foos_controller.rb
443
- - test/dummy/app/controllers/security_question/unlocks_controller.rb
444
- - test/dummy/app/controllers/widgets_controller.rb
445
- - test/dummy/app/models/.gitkeep
446
- - test/dummy/app/models/application_record.rb
447
- - test/dummy/app/models/application_user_record.rb
448
- - test/dummy/app/models/captcha_user.rb
449
- - test/dummy/app/models/mongoid/confirmable_fields.rb
450
- - test/dummy/app/models/mongoid/database_authenticable_fields.rb
451
- - test/dummy/app/models/mongoid/expirable_fields.rb
452
- - test/dummy/app/models/mongoid/lockable_fields.rb
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
453
464
  - test/dummy/app/models/mongoid/mappings.rb
454
- - test/dummy/app/models/mongoid/omniauthable_fields.rb
465
+ - test/dummy/app/models/mongoid/session_limitable_fields.rb
466
+ - test/dummy/app/models/mongoid/timeoutable_fields.rb
455
467
  - test/dummy/app/models/mongoid/paranoid_verification_fields.rb
456
- - test/dummy/app/models/mongoid/password_archivable_fields.rb
468
+ - test/dummy/app/models/mongoid/confirmable_fields.rb
457
469
  - test/dummy/app/models/mongoid/password_expirable_fields.rb
458
- - test/dummy/app/models/mongoid/recoverable_fields.rb
459
- - test/dummy/app/models/mongoid/registerable_fields.rb
460
- - test/dummy/app/models/mongoid/rememberable_fields.rb
470
+ - test/dummy/app/models/mongoid/expirable_fields.rb
471
+ - test/dummy/app/models/mongoid/database_authenticable_fields.rb
461
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
462
475
  - test/dummy/app/models/mongoid/security_questionable_fields.rb
463
- - test/dummy/app/models/mongoid/session_limitable_fields.rb
464
- - test/dummy/app/models/mongoid/timeoutable_fields.rb
465
- - test/dummy/app/models/mongoid/trackable_fields.rb
466
476
  - test/dummy/app/models/mongoid/validatable_fields.rb
467
- - test/dummy/app/models/secure_user.rb
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
468
480
  - test/dummy/app/models/security_question_user.rb
469
- - test/dummy/app/models/user.rb
481
+ - test/dummy/app/models/application_user_record.rb
482
+ - test/dummy/app/models/secure_user.rb
470
483
  - test/dummy/app/models/widget.rb
471
- - test/dummy/app/mongoid/admin.rb
472
- - test/dummy/app/mongoid/one_user.rb
473
- - test/dummy/app/mongoid/shim.rb
474
- - test/dummy/app/mongoid/user_on_engine.rb
475
- - test/dummy/app/mongoid/user_on_main_app.rb
476
- - test/dummy/app/mongoid/user_with_validations.rb
477
- - test/dummy/app/mongoid/user_without_email.rb
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
478
492
  - test/dummy/app/views/foos/index.html.erb
479
- - test/dummy/config.ru
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
480
499
  - test/dummy/config/application.rb
481
- - test/dummy/config/boot.rb
482
500
  - test/dummy/config/database.yml
483
- - test/dummy/config/environment.rb
484
- - test/dummy/config/environments/test.rb
485
- - test/dummy/config/initializers/devise.rb
501
+ - test/dummy/config/boot.rb
486
502
  - test/dummy/config/initializers/migration_class.rb
487
- - test/dummy/config/mongoid.yml
488
- - test/dummy/config/routes.rb
489
- - test/dummy/config/secrets.yml
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
490
513
  - test/dummy/db/migrate/20120508165529_create_tables.rb
491
514
  - test/dummy/db/migrate/20150402165590_add_verification_columns.rb
492
- - test/dummy/db/migrate/20150407162345_add_verification_attempt_column.rb
515
+ - test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
516
+ - test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb
493
517
  - test/dummy/db/migrate/20160320162345_add_security_questions_fields.rb
518
+ - test/dummy/db/migrate/20180319114023_add_widget.rb
494
519
  - test/dummy/db/migrate/20180318103603_add_expireable_columns.rb
520
+ - test/dummy/db/migrate/20150407162345_add_verification_attempt_column.rb
495
521
  - test/dummy/db/migrate/20180318105329_add_confirmable_columns.rb
496
- - test/dummy/db/migrate/20180318105732_add_rememberable_columns.rb
497
- - test/dummy/db/migrate/20180318111336_add_recoverable_columns.rb
498
- - test/dummy/db/migrate/20180319114023_add_widget.rb
499
- - test/dummy/lib/shared_expirable_columns.rb
500
- - test/dummy/lib/shared_security_questions_fields.rb
501
- - test/dummy/lib/shared_user.rb
502
- - test/dummy/lib/shared_user_with_password_verification.rb
503
- - test/dummy/lib/shared_user_without_email.rb
504
- - test/dummy/lib/shared_user_without_omniauth.rb
505
- - test/dummy/lib/shared_verification_fields.rb
506
- - test/integration/test_session_limitable_workflow.rb
507
- - test/orm/active_record.rb
508
- - test/orm/mongoid.rb
509
- - test/support/integration_helpers.rb
510
- - test/support/mongoid.yml
511
- - test/test_compatibility.rb
512
- - test/test_complexity_validator.rb
513
- - test/test_helper.rb
522
+ - test/dummy/log/test.log
514
523
  - test/test_install_generator.rb
515
524
  - test/test_paranoid_verification.rb
516
- - test/test_password_archivable.rb
517
- - test/test_password_expirable.rb
525
+ - test/integration/test_session_limitable_workflow.rb
526
+ - test/integration/test_password_expirable_workflow.rb
518
527
  - test/test_secure_validatable.rb
519
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