devise-secure_password 2.0.0 → 2.1.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/Changelog.md +8 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +250 -192
- data/README.md +40 -13
- data/config/locales/en.yml +1 -0
- data/devise-secure_password.gemspec +8 -4
- data/gemfiles/rails_6_1.gemfile +1 -1
- data/gemfiles/rails_7_0.gemfile +66 -0
- data/lib/devise/secure_password/models/password_disallows_frequent_changes.rb +7 -7
- data/lib/devise/secure_password/models/password_disallows_frequent_reuse.rb +1 -1
- data/lib/devise/secure_password/models/password_requires_regular_updates.rb +7 -7
- data/lib/devise/secure_password/version.rb +1 -1
- data/lib/generators/devise/templates/secure_password.rb +1 -1
- data/lib/support/string/character_counter.rb +1 -1
- data/pkg/devise-secure_password-2.0.1.gem +0 -0
- data/pkg/devise-secure_password-2.1.0.gem +0 -0
- metadata +14 -14
- data/gemfiles/rails_6_0.gemfile +0 -57
- data/gemfiles/rails_6_0.gemfile.lock +0 -347
- data/gemfiles/rails_6_1.gemfile.lock +0 -352
- data/pkg/devise-secure_password-2.0.0.gem +0 -0
data/config/locales/en.yml
CHANGED
@@ -24,12 +24,16 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.files = Dir['./**/*'].reject do |f|
|
25
25
|
f.match(%r{^./(test|spec|features|lib/tasks)/|Gemfile.lock.ci})
|
26
26
|
end
|
27
|
+
|
28
|
+
spec.metadata = {
|
29
|
+
'rubygems_mfa_required' => 'true'
|
30
|
+
}
|
31
|
+
|
27
32
|
spec.executables = spec.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
28
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
29
33
|
spec.require_paths = ['lib']
|
30
34
|
|
31
35
|
spec.add_runtime_dependency 'devise', '>= 4.0.0', '< 5.0.0'
|
32
|
-
spec.add_runtime_dependency 'railties', '>= 5.0.0', '<
|
36
|
+
spec.add_runtime_dependency 'railties', '>= 5.0.0', '< 8.0.0'
|
33
37
|
|
34
38
|
spec.add_development_dependency 'bundler', '>= 2.2.14'
|
35
39
|
spec.add_development_dependency 'capybara', '>= 3.35.3'
|
@@ -38,7 +42,7 @@ Gem::Specification.new do |spec|
|
|
38
42
|
spec.add_development_dependency 'devise', '~> 4.0'
|
39
43
|
spec.add_development_dependency 'flay', '>= 2.10.0'
|
40
44
|
spec.add_development_dependency 'launchy', '>= 2.4.3'
|
41
|
-
spec.add_development_dependency 'rails', '>=
|
45
|
+
spec.add_development_dependency 'rails', '>= 6.1.0'
|
42
46
|
spec.add_development_dependency 'rake', '>= 12.3'
|
43
47
|
spec.add_development_dependency 'rspec', '>= 3.7'
|
44
48
|
spec.add_development_dependency 'rspec_junit_formatter', '>= 0.3'
|
@@ -50,7 +54,7 @@ Gem::Specification.new do |spec|
|
|
50
54
|
spec.add_development_dependency 'selenium-webdriver', '>= 3.7.0'
|
51
55
|
spec.add_development_dependency 'simplecov', '>= 0.18.2'
|
52
56
|
spec.add_development_dependency 'simplecov-console', '>= 0.4.2'
|
53
|
-
spec.add_development_dependency 'sqlite3', '>= 1.
|
57
|
+
spec.add_development_dependency 'sqlite3', '>= 1.7.0'
|
54
58
|
|
55
59
|
spec.required_ruby_version = '>= 2.7'
|
56
60
|
end
|
data/gemfiles/rails_6_1.gemfile
CHANGED
@@ -8,7 +8,7 @@ gemspec path: '../'
|
|
8
8
|
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
|
9
9
|
gem 'rails', '~> 6.1.3', '>= 6.1.3.1'
|
10
10
|
# Use sqlite3 as the database for Active Record
|
11
|
-
gem 'sqlite3', '~> 1.
|
11
|
+
gem 'sqlite3', '~> 1.7.0'
|
12
12
|
# Use Puma as the app server
|
13
13
|
gem 'puma', '~> 5.0'
|
14
14
|
# Use SCSS for stylesheets
|
@@ -0,0 +1,66 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
3
|
+
|
4
|
+
ENV['RAILS_TARGET'] ||= '7.0'
|
5
|
+
|
6
|
+
gemspec path: '../'
|
7
|
+
|
8
|
+
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
9
|
+
gem 'rails', '~> 7.1.3', '>= 7.1.3.4'
|
10
|
+
|
11
|
+
# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
|
12
|
+
gem 'sprockets-rails'
|
13
|
+
|
14
|
+
# Use sqlite3 as the database for Active Record
|
15
|
+
gem 'sqlite3', '~> 1.4'
|
16
|
+
|
17
|
+
# Use the Puma web server [https://github.com/puma/puma]
|
18
|
+
gem 'puma', '>= 5.0'
|
19
|
+
|
20
|
+
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
|
21
|
+
gem 'importmap-rails'
|
22
|
+
|
23
|
+
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
|
24
|
+
gem 'turbo-rails'
|
25
|
+
|
26
|
+
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
|
27
|
+
gem 'stimulus-rails'
|
28
|
+
|
29
|
+
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
|
30
|
+
gem 'jbuilder'
|
31
|
+
|
32
|
+
# Use Redis adapter to run Action Cable in production
|
33
|
+
# gem "redis", ">= 4.0.1"
|
34
|
+
|
35
|
+
# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
|
36
|
+
# gem "kredis"
|
37
|
+
|
38
|
+
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
|
39
|
+
# gem "bcrypt", "~> 3.1.7"
|
40
|
+
|
41
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
42
|
+
gem 'tzinfo-data', platforms: %i(windows jruby)
|
43
|
+
|
44
|
+
# Reduces boot times through caching; required in config/boot.rb
|
45
|
+
gem 'bootsnap', require: false
|
46
|
+
|
47
|
+
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
|
48
|
+
# gem "image_processing", "~> 1.2"
|
49
|
+
|
50
|
+
group :development do
|
51
|
+
# Use console on exceptions pages [https://github.com/rails/web-console]
|
52
|
+
gem 'web-console'
|
53
|
+
|
54
|
+
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
|
55
|
+
# gem "spring"
|
56
|
+
end
|
57
|
+
|
58
|
+
group :test do
|
59
|
+
# Adds support for Capybara system testing and selenium driver
|
60
|
+
gem 'capybara', '>= 3.26'
|
61
|
+
gem 'codecov', require: false
|
62
|
+
gem 'selenium-webdriver'
|
63
|
+
gem 'shoulda-matchers'
|
64
|
+
# Easy installation and use of web drivers to run system tests with browsers
|
65
|
+
gem 'webdrivers'
|
66
|
+
end
|
@@ -37,15 +37,15 @@ module Devise
|
|
37
37
|
def before_resource_initialized
|
38
38
|
return if self.class.respond_to?(:password_previously_used_count)
|
39
39
|
|
40
|
-
raise ConfigurationError,
|
40
|
+
raise ConfigurationError, <<~ERROR
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
The password_disallows_frequent_changes module depends on the
|
43
|
+
password_disallows_frequent_reuse module. Verify that you have
|
44
|
+
added both modules to your model, for example:
|
45
45
|
|
46
|
-
|
47
|
-
|
48
|
-
|
46
|
+
devise :database_authenticatable, :registerable,
|
47
|
+
:password_disallows_frequent_reuse,
|
48
|
+
:password_disallows_frequent_changes
|
49
49
|
ERROR
|
50
50
|
end
|
51
51
|
|
@@ -20,15 +20,15 @@ module Devise
|
|
20
20
|
def before_regular_update_initialized
|
21
21
|
return if self.class.respond_to?(:password_previously_used_count)
|
22
22
|
|
23
|
-
raise ConfigurationError,
|
23
|
+
raise ConfigurationError, <<~ERROR
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
The password_requires_regular_updates module depends on the
|
26
|
+
password_disallows_frequent_reuse module. Verify that you have
|
27
|
+
added both modules to your model, for example:
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
|
29
|
+
devise :database_authenticatable, :registerable,
|
30
|
+
:password_disallows_frequent_reuse,
|
31
|
+
:password_requires_regular_updates
|
32
32
|
ERROR
|
33
33
|
end
|
34
34
|
|
@@ -18,7 +18,7 @@ Devise.setup do |config|
|
|
18
18
|
# The number of numbers (0-9) required in a password:
|
19
19
|
# config.password_required_number_count = 1
|
20
20
|
|
21
|
-
# The number of special characters (!@#$%^&*()_+-=[]{}|') required in a password:
|
21
|
+
# The number of special characters ( !@#$%^&*()_+-=[]{}|'"/\.,`<>:;?~) required in a password:
|
22
22
|
# config.password_required_special_character_count = 1
|
23
23
|
|
24
24
|
# ==> Configuration for the Devise Secure Password extension
|
@@ -11,7 +11,7 @@ module Support
|
|
11
11
|
uppercase: characters_to_dictionary(('A'..'Z').to_a),
|
12
12
|
lowercase: characters_to_dictionary(('a'..'z').to_a),
|
13
13
|
number: characters_to_dictionary(('0'..'9').to_a),
|
14
|
-
special: characters_to_dictionary(
|
14
|
+
special: characters_to_dictionary([' ', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '-', '=', '[', ']', '{', '}', '|', '"', '/', '\\', '.', ',', '`', '<', '>', ':', ';', '?', '~', "'"]),
|
15
15
|
unknown: {}
|
16
16
|
}
|
17
17
|
end
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise-secure_password
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Eissler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: devise
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
version: 5.0.0
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: 8.0.0
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,7 +49,7 @@ dependencies:
|
|
49
49
|
version: 5.0.0
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
52
|
+
version: 8.0.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: bundler
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -154,14 +154,14 @@ dependencies:
|
|
154
154
|
requirements:
|
155
155
|
- - ">="
|
156
156
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
157
|
+
version: 6.1.0
|
158
158
|
type: :development
|
159
159
|
prerelease: false
|
160
160
|
version_requirements: !ruby/object:Gem::Requirement
|
161
161
|
requirements:
|
162
162
|
- - ">="
|
163
163
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
164
|
+
version: 6.1.0
|
165
165
|
- !ruby/object:Gem::Dependency
|
166
166
|
name: rake
|
167
167
|
requirement: !ruby/object:Gem::Requirement
|
@@ -322,14 +322,14 @@ dependencies:
|
|
322
322
|
requirements:
|
323
323
|
- - ">="
|
324
324
|
- !ruby/object:Gem::Version
|
325
|
-
version: 1.
|
325
|
+
version: 1.7.0
|
326
326
|
type: :development
|
327
327
|
prerelease: false
|
328
328
|
version_requirements: !ruby/object:Gem::Requirement
|
329
329
|
requirements:
|
330
330
|
- - ">="
|
331
331
|
- !ruby/object:Gem::Version
|
332
|
-
version: 1.
|
332
|
+
version: 1.7.0
|
333
333
|
description: Adds configurable password policy enforcement to devise.
|
334
334
|
email:
|
335
335
|
- mark.eissler@valimail.com
|
@@ -353,10 +353,8 @@ files:
|
|
353
353
|
- "./config/locales/en.yml"
|
354
354
|
- "./devise-secure_password.gemspec"
|
355
355
|
- "./docker-entrypoint.sh"
|
356
|
-
- "./gemfiles/rails_6_0.gemfile"
|
357
|
-
- "./gemfiles/rails_6_0.gemfile.lock"
|
358
356
|
- "./gemfiles/rails_6_1.gemfile"
|
359
|
-
- "./gemfiles/
|
357
|
+
- "./gemfiles/rails_7_0.gemfile"
|
360
358
|
- "./lib/devise/secure_password.rb"
|
361
359
|
- "./lib/devise/secure_password/controllers/devise_helpers.rb"
|
362
360
|
- "./lib/devise/secure_password/controllers/helpers.rb"
|
@@ -372,11 +370,13 @@ files:
|
|
372
370
|
- "./lib/generators/devise/templates/README.txt"
|
373
371
|
- "./lib/generators/devise/templates/secure_password.rb"
|
374
372
|
- "./lib/support/string/character_counter.rb"
|
375
|
-
- "./pkg/devise-secure_password-2.0.
|
373
|
+
- "./pkg/devise-secure_password-2.0.1.gem"
|
374
|
+
- "./pkg/devise-secure_password-2.1.0.gem"
|
376
375
|
homepage: https://github.com/valimail/devise-secure_password
|
377
376
|
licenses:
|
378
377
|
- MIT
|
379
|
-
metadata:
|
378
|
+
metadata:
|
379
|
+
rubygems_mfa_required: 'true'
|
380
380
|
post_install_message:
|
381
381
|
rdoc_options: []
|
382
382
|
require_paths:
|
@@ -392,7 +392,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
392
392
|
- !ruby/object:Gem::Version
|
393
393
|
version: '0'
|
394
394
|
requirements: []
|
395
|
-
rubygems_version: 3.
|
395
|
+
rubygems_version: 3.5.9
|
396
396
|
signing_key:
|
397
397
|
specification_version: 4
|
398
398
|
summary: A devise password policy enforcement extension.
|
data/gemfiles/rails_6_0.gemfile
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
3
|
-
|
4
|
-
ENV['RAILS_TARGET'] ||= '6.0'
|
5
|
-
|
6
|
-
gemspec path: '../'
|
7
|
-
|
8
|
-
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
9
|
-
gem 'rails', '~> 6.0.3', '>= 6.0.3.6'
|
10
|
-
# Use sqlite3 as the database for Active Record
|
11
|
-
gem 'sqlite3', '~> 1.4'
|
12
|
-
# Use Puma as the app server
|
13
|
-
gem 'puma', '~> 4.1'
|
14
|
-
# Use SCSS for stylesheets
|
15
|
-
gem 'sass-rails', '>= 6'
|
16
|
-
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
|
17
|
-
gem 'webpacker', '~> 4.0'
|
18
|
-
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
19
|
-
gem 'turbolinks', '~> 5'
|
20
|
-
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
21
|
-
gem 'jbuilder', '~> 2.7'
|
22
|
-
# Use Redis adapter to run Action Cable in production
|
23
|
-
# gem 'redis', '~> 4.0'
|
24
|
-
# Use Active Model has_secure_password
|
25
|
-
# gem 'bcrypt', '~> 3.1.7'
|
26
|
-
|
27
|
-
# Use Active Storage variant
|
28
|
-
# gem 'image_processing', '~> 1.2'
|
29
|
-
|
30
|
-
# Reduces boot times through caching; required in config/boot.rb
|
31
|
-
gem 'bootsnap', '>= 1.4.2', require: false
|
32
|
-
|
33
|
-
group :development, :test do
|
34
|
-
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
35
|
-
gem 'byebug', platforms: %i(mri mingw x64_mingw)
|
36
|
-
end
|
37
|
-
|
38
|
-
group :development do
|
39
|
-
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
|
40
|
-
gem 'listen', '~> 3.2'
|
41
|
-
gem 'web-console', '>= 3.3.0'
|
42
|
-
end
|
43
|
-
|
44
|
-
group :test do
|
45
|
-
# Adds support for Capybara system testing and selenium driver
|
46
|
-
gem 'capybara', '>= 2.15'
|
47
|
-
gem 'codecov', require: false
|
48
|
-
gem 'selenium-webdriver'
|
49
|
-
gem 'shoulda-matchers'
|
50
|
-
# Easy installation and use of web drivers to run system tests with browsers
|
51
|
-
gem 'webdrivers'
|
52
|
-
end
|
53
|
-
|
54
|
-
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
55
|
-
gem 'tzinfo-data', platforms: %i(mingw mswin x64_mingw jruby)
|
56
|
-
|
57
|
-
gem 'webrick', '~> 1.7'
|