devise-security 0.14.3 → 0.16.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 +123 -59
- data/app/controllers/devise/password_expired_controller.rb +11 -6
- 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 +49 -0
- data/config/locales/cs.yml +41 -0
- data/config/locales/de.yml +13 -2
- data/config/locales/en.yml +13 -1
- data/config/locales/es.yml +10 -9
- data/config/locales/fa.yml +41 -0
- data/config/locales/fr.yml +1 -0
- data/config/locales/hi.yml +42 -0
- data/config/locales/it.yml +35 -4
- data/config/locales/ja.yml +2 -1
- data/config/locales/nl.yml +41 -0
- data/config/locales/pt.yml +41 -0
- data/config/locales/ru.yml +49 -0
- data/config/locales/tr.yml +1 -0
- data/config/locales/uk.yml +49 -0
- data/config/locales/zh_CN.yml +41 -0
- data/config/locales/zh_TW.yml +41 -0
- data/lib/devise-security.rb +6 -3
- 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 -11
- data/lib/devise-security/models/password_expirable.rb +5 -1
- data/lib/devise-security/models/secure_validatable.rb +15 -1
- data/lib/devise-security/models/session_limitable.rb +8 -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 +3 -3
- data/lib/generators/templates/devise_security.rb +47 -0
- data/test/controllers/test_password_expired_controller.rb +83 -19
- data/test/controllers/test_security_question_controller.rb +16 -40
- data/test/dummy/app/assets/config/manifest.js +3 -0
- data/test/dummy/config/environments/test.rb +3 -13
- data/test/dummy/config/initializers/migration_class.rb +1 -8
- data/test/dummy/config/mongoid.yml +1 -1
- data/test/dummy/config/routes.rb +3 -3
- data/test/dummy/log/development.log +883 -0
- data/test/dummy/log/test.log +21689 -0
- data/test/integration/test_password_expirable_workflow.rb +53 -0
- data/test/orm/active_record.rb +4 -1
- data/test/orm/mongoid.rb +2 -1
- data/test/support/integration_helpers.rb +15 -33
- data/test/support/mongoid.yml +1 -1
- data/test/test_complexity_validator.rb +12 -0
- data/test/test_helper.rb +10 -3
- data/test/test_install_generator.rb +11 -1
- data/test/test_secure_validatable.rb +76 -0
- data/test/test_session_limitable.rb +17 -0
- data/{lib/generators/templates → test/tmp/config/initializers}/devise-security.rb +3 -0
- data/test/tmp/config/locales/devise.security_extension.by.yml +49 -0
- data/test/tmp/config/locales/devise.security_extension.cs.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.de.yml +39 -0
- data/test/tmp/config/locales/devise.security_extension.en.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.es.yml +30 -0
- data/test/tmp/config/locales/devise.security_extension.fa.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.fr.yml +30 -0
- data/test/tmp/config/locales/devise.security_extension.hi.yml +42 -0
- data/test/tmp/config/locales/devise.security_extension.it.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.ja.yml +30 -0
- data/test/tmp/config/locales/devise.security_extension.nl.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.pt.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.ru.yml +49 -0
- data/test/tmp/config/locales/devise.security_extension.tr.yml +18 -0
- data/test/tmp/config/locales/devise.security_extension.uk.yml +49 -0
- data/test/tmp/config/locales/devise.security_extension.zh_CN.yml +41 -0
- data/test/tmp/config/locales/devise.security_extension.zh_TW.yml +41 -0
- metadata +145 -132
- 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 -39
- data/Appraisals +0 -35
- data/Gemfile +0 -10
- data/Rakefile +0 -27
- 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/lib/devise-security/orm/active_record.rb +0 -20
- data/lib/devise-security/schema.rb +0 -66
- data/test/dummy/app/models/.gitkeep +0 -0
@@ -1,66 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module DeviseSecurity
|
4
|
-
# add schema helper for migrations
|
5
|
-
module Schema
|
6
|
-
# Add password_changed_at columns in the resource's database table.
|
7
|
-
#
|
8
|
-
# Examples
|
9
|
-
#
|
10
|
-
# # For a new resource migration:
|
11
|
-
# create_table :the_resources do |t|
|
12
|
-
# t.password_expirable
|
13
|
-
# ...
|
14
|
-
# end
|
15
|
-
#
|
16
|
-
# # or if the resource's table already exists, define a migration and put this in:
|
17
|
-
# change_table :the_resources do |t|
|
18
|
-
# t.datetime :password_changed_at
|
19
|
-
# end
|
20
|
-
#
|
21
|
-
def password_expirable
|
22
|
-
apply_devise_schema :password_changed_at, DateTime
|
23
|
-
end
|
24
|
-
|
25
|
-
# Add password_archivable columns
|
26
|
-
#
|
27
|
-
# Examples
|
28
|
-
#
|
29
|
-
# create_table :old_passwords do
|
30
|
-
# t.password_archivable
|
31
|
-
# end
|
32
|
-
# add_index :old_passwords, [:password_archivable_type, :password_archivable_id], name: 'index_password_archivable'
|
33
|
-
#
|
34
|
-
def password_archivable
|
35
|
-
apply_devise_schema :encrypted_password, String, limit: 128, null: false
|
36
|
-
apply_devise_schema :password_salt, String
|
37
|
-
apply_devise_schema :password_archivable_id, Integer, null: false
|
38
|
-
apply_devise_schema :password_archivable_type, String, null: false
|
39
|
-
apply_devise_schema :created_at, DateTime
|
40
|
-
end
|
41
|
-
|
42
|
-
# Add session_limitable columns in the resource's database table.
|
43
|
-
#
|
44
|
-
# Examples
|
45
|
-
#
|
46
|
-
# # For a new resource migration:
|
47
|
-
# create_table :the_resources do |t|
|
48
|
-
# t.session_limitable
|
49
|
-
# ...
|
50
|
-
# end
|
51
|
-
#
|
52
|
-
# # or if the resource's table already exists, define a migration and put this in:
|
53
|
-
# change_table :the_resources do |t|
|
54
|
-
# t.string :unique_session_id, limit: 20
|
55
|
-
# end
|
56
|
-
#
|
57
|
-
def session_limitable
|
58
|
-
apply_devise_schema :unique_session_id, String, limit: 20
|
59
|
-
end
|
60
|
-
|
61
|
-
def expirable
|
62
|
-
apply_devise_schema :expired_at, DateTime
|
63
|
-
apply_devise_schema :last_activity_at, DateTime
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
File without changes
|