devise 4.3.0 → 4.4.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/.travis.yml +10 -5
- data/CHANGELOG.md +20 -0
- data/Gemfile +2 -3
- data/Gemfile.lock +2 -3
- data/ISSUE_TEMPLATE.md +19 -0
- data/README.md +66 -2
- data/Rakefile +1 -0
- data/app/controllers/devise/confirmations_controller.rb +2 -0
- data/app/controllers/devise/omniauth_callbacks_controller.rb +3 -1
- data/app/controllers/devise/passwords_controller.rb +2 -0
- data/app/controllers/devise/registrations_controller.rb +5 -3
- data/app/controllers/devise/sessions_controller.rb +3 -1
- data/app/controllers/devise/unlocks_controller.rb +2 -0
- data/app/controllers/devise_controller.rb +2 -0
- data/app/helpers/devise_helper.rb +2 -0
- data/app/mailers/devise/mailer.rb +2 -0
- data/app/views/devise/confirmations/new.html.erb +1 -1
- data/app/views/devise/passwords/new.html.erb +1 -1
- data/app/views/devise/registrations/edit.html.erb +1 -1
- data/app/views/devise/registrations/new.html.erb +1 -1
- data/app/views/devise/sessions/new.html.erb +1 -1
- data/app/views/devise/unlocks/new.html.erb +1 -1
- data/devise.gemspec +2 -0
- data/gemfiles/Gemfile.rails-4.1-stable +3 -1
- data/gemfiles/Gemfile.rails-4.1-stable.lock +3 -3
- data/gemfiles/Gemfile.rails-4.2-stable +3 -1
- data/gemfiles/Gemfile.rails-4.2-stable.lock +3 -3
- data/gemfiles/Gemfile.rails-5.0-stable +2 -3
- data/gemfiles/Gemfile.rails-5.0-stable.lock +2 -3
- data/guides/bug_report_templates/integration_test.rb +2 -0
- data/lib/devise.rb +3 -1
- data/lib/devise/controllers/helpers.rb +7 -5
- data/lib/devise/controllers/rememberable.rb +2 -0
- data/lib/devise/controllers/scoped_views.rb +2 -0
- data/lib/devise/controllers/sign_in_out.rb +2 -0
- data/lib/devise/controllers/store_location.rb +24 -6
- data/lib/devise/controllers/url_helpers.rb +2 -0
- data/lib/devise/delegator.rb +2 -0
- data/lib/devise/encryptor.rb +2 -0
- data/lib/devise/failure_app.rb +2 -0
- data/lib/devise/hooks/activatable.rb +2 -0
- data/lib/devise/hooks/csrf_cleaner.rb +2 -0
- data/lib/devise/hooks/forgetable.rb +2 -0
- data/lib/devise/hooks/lockable.rb +2 -0
- data/lib/devise/hooks/proxy.rb +2 -0
- data/lib/devise/hooks/rememberable.rb +2 -0
- data/lib/devise/hooks/timeoutable.rb +2 -0
- data/lib/devise/hooks/trackable.rb +2 -0
- data/lib/devise/mailers/helpers.rb +2 -0
- data/lib/devise/mapping.rb +2 -0
- data/lib/devise/models.rb +2 -0
- data/lib/devise/models/authenticatable.rb +4 -2
- data/lib/devise/models/confirmable.rb +3 -1
- data/lib/devise/models/database_authenticatable.rb +3 -1
- data/lib/devise/models/lockable.rb +8 -2
- data/lib/devise/models/omniauthable.rb +2 -0
- data/lib/devise/models/recoverable.rb +2 -0
- data/lib/devise/models/registerable.rb +2 -0
- data/lib/devise/models/rememberable.rb +3 -1
- data/lib/devise/models/timeoutable.rb +2 -0
- data/lib/devise/models/trackable.rb +3 -1
- data/lib/devise/models/validatable.rb +3 -1
- data/lib/devise/modules.rb +2 -0
- data/lib/devise/omniauth.rb +2 -0
- data/lib/devise/omniauth/config.rb +2 -0
- data/lib/devise/omniauth/url_helpers.rb +2 -0
- data/lib/devise/orm/active_record.rb +2 -0
- data/lib/devise/orm/mongoid.rb +2 -0
- data/lib/devise/parameter_filter.rb +2 -0
- data/lib/devise/parameter_sanitizer.rb +2 -0
- data/lib/devise/rails.rb +2 -0
- data/lib/devise/rails/routes.rb +2 -0
- data/lib/devise/rails/warden_compat.rb +2 -0
- data/lib/devise/strategies/authenticatable.rb +2 -0
- data/lib/devise/strategies/base.rb +2 -0
- data/lib/devise/strategies/database_authenticatable.rb +2 -0
- data/lib/devise/strategies/rememberable.rb +2 -0
- data/lib/devise/test/controller_helpers.rb +2 -0
- data/lib/devise/test/integration_helpers.rb +2 -0
- data/lib/devise/test_helpers.rb +2 -0
- data/lib/devise/time_inflector.rb +2 -0
- data/lib/devise/token_generator.rb +2 -0
- data/lib/devise/version.rb +3 -1
- data/lib/generators/active_record/devise_generator.rb +15 -2
- data/lib/generators/active_record/templates/migration.rb +3 -1
- data/lib/generators/active_record/templates/migration_existing.rb +2 -0
- data/lib/generators/devise/controllers_generator.rb +2 -0
- data/lib/generators/devise/devise_generator.rb +4 -2
- data/lib/generators/devise/install_generator.rb +2 -0
- data/lib/generators/devise/orm_helpers.rb +7 -1
- data/lib/generators/devise/views_generator.rb +7 -8
- data/lib/generators/mongoid/devise_generator.rb +2 -0
- data/lib/generators/templates/controllers/confirmations_controller.rb +2 -0
- data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +2 -0
- data/lib/generators/templates/controllers/passwords_controller.rb +2 -0
- data/lib/generators/templates/controllers/registrations_controller.rb +2 -0
- data/lib/generators/templates/controllers/sessions_controller.rb +2 -0
- data/lib/generators/templates/controllers/unlocks_controller.rb +2 -0
- data/lib/generators/templates/devise.rb +2 -0
- data/test/controllers/custom_registrations_controller_test.rb +2 -0
- data/test/controllers/custom_strategy_test.rb +2 -0
- data/test/controllers/helper_methods_test.rb +2 -0
- data/test/controllers/helpers_test.rb +2 -0
- data/test/controllers/inherited_controller_i18n_messages_test.rb +2 -0
- data/test/controllers/internal_helpers_test.rb +2 -0
- data/test/controllers/load_hooks_controller_test.rb +2 -0
- data/test/controllers/passwords_controller_test.rb +2 -0
- data/test/controllers/sessions_controller_test.rb +2 -0
- data/test/controllers/url_helpers_test.rb +2 -0
- data/test/delegator_test.rb +2 -0
- data/test/devise_test.rb +2 -0
- data/test/failure_app_test.rb +2 -0
- data/test/generators/active_record_generator_test.rb +47 -0
- data/test/generators/controllers_generator_test.rb +2 -0
- data/test/generators/devise_generator_test.rb +2 -0
- data/test/generators/install_generator_test.rb +2 -0
- data/test/generators/mongoid_generator_test.rb +2 -0
- data/test/generators/views_generator_test.rb +2 -0
- data/test/helpers/devise_helper_test.rb +2 -0
- data/test/integration/authenticatable_test.rb +15 -1
- data/test/integration/confirmable_test.rb +2 -0
- data/test/integration/database_authenticatable_test.rb +2 -0
- data/test/integration/http_authenticatable_test.rb +2 -0
- data/test/integration/lockable_test.rb +5 -3
- data/test/integration/mounted_engine_test.rb +2 -0
- data/test/integration/omniauthable_test.rb +2 -0
- data/test/integration/recoverable_test.rb +2 -0
- data/test/integration/registerable_test.rb +2 -0
- data/test/integration/rememberable_test.rb +2 -0
- data/test/integration/timeoutable_test.rb +2 -0
- data/test/integration/trackable_test.rb +2 -0
- data/test/mailers/confirmation_instructions_test.rb +2 -0
- data/test/mailers/email_changed_test.rb +2 -0
- data/test/mailers/mailer_test.rb +2 -0
- data/test/mailers/reset_password_instructions_test.rb +2 -0
- data/test/mailers/unlock_instructions_test.rb +2 -0
- data/test/mapping_test.rb +2 -0
- data/test/models/authenticatable_test.rb +2 -0
- data/test/models/confirmable_test.rb +2 -0
- data/test/models/database_authenticatable_test.rb +2 -0
- data/test/models/lockable_test.rb +2 -0
- data/test/models/omniauthable_test.rb +2 -0
- data/test/models/recoverable_test.rb +2 -0
- data/test/models/registerable_test.rb +2 -0
- data/test/models/rememberable_test.rb +2 -0
- data/test/models/serializable_test.rb +6 -0
- data/test/models/timeoutable_test.rb +2 -0
- data/test/models/trackable_test.rb +11 -0
- data/test/models/validatable_test.rb +4 -2
- data/test/models_test.rb +2 -0
- data/test/omniauth/config_test.rb +2 -0
- data/test/omniauth/url_helpers_test.rb +2 -0
- data/test/orm/active_record.rb +2 -0
- data/test/orm/mongoid.rb +3 -1
- data/test/parameter_sanitizer_test.rb +2 -0
- data/test/rails_app/app/active_record/admin.rb +2 -0
- data/test/rails_app/app/active_record/shim.rb +2 -0
- data/test/rails_app/app/active_record/user.rb +4 -0
- data/test/rails_app/app/active_record/user_on_engine.rb +2 -0
- data/test/rails_app/app/active_record/user_on_main_app.rb +2 -0
- data/test/rails_app/app/active_record/user_with_validations.rb +12 -0
- data/test/rails_app/app/active_record/user_without_email.rb +2 -0
- data/test/rails_app/app/controllers/admins/sessions_controller.rb +2 -0
- data/test/rails_app/app/controllers/admins_controller.rb +2 -0
- data/test/rails_app/app/controllers/application_controller.rb +2 -0
- data/test/rails_app/app/controllers/application_with_fake_engine.rb +2 -0
- data/test/rails_app/app/controllers/custom/registrations_controller.rb +2 -0
- data/test/rails_app/app/controllers/home_controller.rb +2 -0
- data/test/rails_app/app/controllers/publisher/registrations_controller.rb +2 -0
- data/test/rails_app/app/controllers/publisher/sessions_controller.rb +2 -0
- data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +2 -0
- data/test/rails_app/app/controllers/users_controller.rb +2 -0
- data/test/rails_app/app/helpers/application_helper.rb +2 -0
- data/test/rails_app/app/mailers/users/from_proc_mailer.rb +2 -0
- data/test/rails_app/app/mailers/users/mailer.rb +2 -0
- data/test/rails_app/app/mailers/users/reply_to_mailer.rb +2 -0
- data/test/rails_app/app/mongoid/admin.rb +2 -0
- data/test/rails_app/app/mongoid/shim.rb +2 -0
- data/test/rails_app/app/mongoid/user.rb +2 -0
- data/test/rails_app/app/mongoid/user_on_engine.rb +2 -0
- data/test/rails_app/app/mongoid/user_on_main_app.rb +2 -0
- data/test/rails_app/app/mongoid/user_with_validations.rb +37 -0
- data/test/rails_app/app/mongoid/user_without_email.rb +2 -0
- data/test/rails_app/config/application.rb +2 -0
- data/test/rails_app/config/boot.rb +2 -0
- data/test/rails_app/config/environment.rb +2 -0
- data/test/rails_app/config/environments/development.rb +2 -0
- data/test/rails_app/config/environments/production.rb +2 -0
- data/test/rails_app/config/environments/test.rb +2 -0
- data/test/rails_app/config/initializers/backtrace_silencers.rb +2 -0
- data/test/rails_app/config/initializers/devise.rb +2 -0
- data/test/rails_app/config/initializers/inflections.rb +2 -0
- data/test/rails_app/config/initializers/secret_token.rb +2 -0
- data/test/rails_app/config/initializers/session_store.rb +2 -0
- data/test/rails_app/config/routes.rb +2 -0
- data/test/rails_app/db/migrate/20100401102949_create_tables.rb +2 -0
- data/test/rails_app/db/schema.rb +2 -0
- data/test/rails_app/lib/shared_admin.rb +2 -0
- data/test/rails_app/lib/shared_user.rb +2 -0
- data/test/rails_app/lib/shared_user_without_email.rb +2 -0
- data/test/rails_app/lib/shared_user_without_omniauth.rb +2 -0
- data/test/rails_test.rb +2 -0
- data/test/routes_test.rb +2 -0
- data/test/support/action_controller/record_identifier.rb +2 -0
- data/test/support/assertions.rb +2 -0
- data/test/support/helpers.rb +6 -0
- data/test/support/http_method_compatibility.rb +2 -0
- data/test/support/integration.rb +2 -0
- data/test/support/webrat/integrations/rails.rb +2 -0
- data/test/test/controller_helpers_test.rb +2 -0
- data/test/test/integration_helpers_test.rb +2 -0
- data/test/test_helper.rb +2 -0
- data/test/test_models.rb +2 -0
- metadata +8 -3
|
@@ -57,7 +57,7 @@ GIT
|
|
|
57
57
|
PATH
|
|
58
58
|
remote: ..
|
|
59
59
|
specs:
|
|
60
|
-
devise (4.
|
|
60
|
+
devise (4.4.0)
|
|
61
61
|
bcrypt (~> 3.0)
|
|
62
62
|
orm_adapter (~> 0.1)
|
|
63
63
|
railties (>= 4.1.0, < 5.2)
|
|
@@ -183,10 +183,10 @@ DEPENDENCIES
|
|
|
183
183
|
omniauth-oauth2
|
|
184
184
|
omniauth-openid
|
|
185
185
|
rails!
|
|
186
|
-
rdoc
|
|
186
|
+
rdoc (~> 5.1)
|
|
187
187
|
sqlite3
|
|
188
188
|
test_after_commit
|
|
189
189
|
webrat (= 0.7.3)
|
|
190
190
|
|
|
191
191
|
BUNDLED WITH
|
|
192
|
-
1.
|
|
192
|
+
1.15.3
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source "https://rubygems.org"
|
|
2
4
|
|
|
3
5
|
gemspec path: ".."
|
|
@@ -13,9 +15,6 @@ gem "rails-controller-testing"
|
|
|
13
15
|
|
|
14
16
|
gem "responders", "~> 2.1"
|
|
15
17
|
|
|
16
|
-
# TODO: Remove this line when Rails 5.0.3 is released
|
|
17
|
-
gem "minitest", "< 5.10.2"
|
|
18
|
-
|
|
19
18
|
group :test do
|
|
20
19
|
gem "omniauth-facebook"
|
|
21
20
|
gem "omniauth-openid"
|
|
@@ -10,7 +10,7 @@ GIT
|
|
|
10
10
|
PATH
|
|
11
11
|
remote: ..
|
|
12
12
|
specs:
|
|
13
|
-
devise (4.
|
|
13
|
+
devise (4.4.0)
|
|
14
14
|
bcrypt (~> 3.0)
|
|
15
15
|
orm_adapter (~> 0.1)
|
|
16
16
|
railties (>= 4.1.0, < 5.2)
|
|
@@ -175,7 +175,6 @@ PLATFORMS
|
|
|
175
175
|
DEPENDENCIES
|
|
176
176
|
activemodel-serializers-xml!
|
|
177
177
|
devise!
|
|
178
|
-
minitest (< 5.10.2)
|
|
179
178
|
mocha (~> 1.1)
|
|
180
179
|
omniauth
|
|
181
180
|
omniauth-facebook
|
|
@@ -190,4 +189,4 @@ DEPENDENCIES
|
|
|
190
189
|
webrat (= 0.7.3)
|
|
191
190
|
|
|
192
191
|
BUNDLED WITH
|
|
193
|
-
1.
|
|
192
|
+
1.15.3
|
data/lib/devise.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'rails'
|
|
2
4
|
require 'active_support/core_ext/numeric/time'
|
|
3
5
|
require 'active_support/dependencies'
|
|
@@ -149,7 +151,7 @@ module Devise
|
|
|
149
151
|
mattr_accessor :timeout_in
|
|
150
152
|
@@timeout_in = 30.minutes
|
|
151
153
|
|
|
152
|
-
# Used to hash the password. Please generate one with
|
|
154
|
+
# Used to hash the password. Please generate one with rails secret.
|
|
153
155
|
mattr_accessor :pepper
|
|
154
156
|
@@pepper = nil
|
|
155
157
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Devise
|
|
2
4
|
module Controllers
|
|
3
5
|
# Those helpers are convenience methods added to ApplicationController.
|
|
@@ -10,6 +12,11 @@ module Devise
|
|
|
10
12
|
if respond_to?(:helper_method)
|
|
11
13
|
helper_method :warden, :signed_in?, :devise_controller?
|
|
12
14
|
end
|
|
15
|
+
|
|
16
|
+
def append_info_to_payload(payload)
|
|
17
|
+
super
|
|
18
|
+
payload[:status] ||= 401 unless payload[:exception]
|
|
19
|
+
end
|
|
13
20
|
end
|
|
14
21
|
|
|
15
22
|
module ClassMethods
|
|
@@ -76,11 +83,6 @@ module Devise
|
|
|
76
83
|
end
|
|
77
84
|
METHODS
|
|
78
85
|
end
|
|
79
|
-
|
|
80
|
-
def log_process_action(payload)
|
|
81
|
-
payload[:status] ||= 401 unless payload[:exception]
|
|
82
|
-
super
|
|
83
|
-
end
|
|
84
86
|
end
|
|
85
87
|
|
|
86
88
|
# Define authentication filters and accessor helpers based on mappings.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "uri"
|
|
2
4
|
|
|
3
5
|
module Devise
|
|
@@ -33,12 +35,9 @@ module Devise
|
|
|
33
35
|
#
|
|
34
36
|
def store_location_for(resource_or_scope, location)
|
|
35
37
|
session_key = stored_location_key_for(resource_or_scope)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
path = [path, uri.fragment].compact.join('#')
|
|
40
|
-
session[session_key] = path
|
|
41
|
-
end
|
|
38
|
+
|
|
39
|
+
path = extract_path_from_location(location)
|
|
40
|
+
session[session_key] = path if path
|
|
42
41
|
end
|
|
43
42
|
|
|
44
43
|
private
|
|
@@ -53,6 +52,25 @@ module Devise
|
|
|
53
52
|
scope = Devise::Mapping.find_scope!(resource_or_scope)
|
|
54
53
|
"#{scope}_return_to"
|
|
55
54
|
end
|
|
55
|
+
|
|
56
|
+
def extract_path_from_location(location)
|
|
57
|
+
uri = parse_uri(location)
|
|
58
|
+
|
|
59
|
+
if uri
|
|
60
|
+
path = remove_domain_from_uri(uri)
|
|
61
|
+
path = add_fragment_back_to_path(uri, path)
|
|
62
|
+
|
|
63
|
+
path
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def remove_domain_from_uri(uri)
|
|
68
|
+
[uri.path.sub(/\A\/+/, '/'), uri.query].compact.join('?')
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def add_fragment_back_to_path(uri, path)
|
|
72
|
+
[path, uri.fragment].compact.join('#')
|
|
73
|
+
end
|
|
56
74
|
end
|
|
57
75
|
end
|
|
58
76
|
end
|
data/lib/devise/delegator.rb
CHANGED
data/lib/devise/encryptor.rb
CHANGED
data/lib/devise/failure_app.rb
CHANGED
data/lib/devise/hooks/proxy.rb
CHANGED
data/lib/devise/mapping.rb
CHANGED
data/lib/devise/models.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'active_model/version'
|
|
2
4
|
require 'devise/hooks/activatable'
|
|
3
5
|
require 'devise/hooks/csrf_cleaner'
|
|
@@ -102,7 +104,7 @@ module Devise
|
|
|
102
104
|
# and passing a new list of attributes you want to exempt. All attributes
|
|
103
105
|
# given to :except will simply add names to exempt to Devise internal list.
|
|
104
106
|
def serializable_hash(options = nil)
|
|
105
|
-
options
|
|
107
|
+
options = options.try(:dup) || {}
|
|
106
108
|
options[:except] = Array(options[:except])
|
|
107
109
|
|
|
108
110
|
if options[:force_except]
|
|
@@ -256,7 +258,7 @@ module Devise
|
|
|
256
258
|
# end
|
|
257
259
|
#
|
|
258
260
|
# Finally, notice that Devise also queries for users in other scenarios
|
|
259
|
-
# besides authentication, for example when retrieving
|
|
261
|
+
# besides authentication, for example when retrieving a user to send
|
|
260
262
|
# an e-mail for password reset. In such cases, find_for_authentication
|
|
261
263
|
# is not called.
|
|
262
264
|
def find_for_authentication(tainted_conditions)
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Devise
|
|
2
4
|
module Models
|
|
3
5
|
# Confirmable is responsible to verify if an account is already confirmed to
|
|
@@ -46,7 +48,7 @@ module Devise
|
|
|
46
48
|
included do
|
|
47
49
|
before_create :generate_confirmation_token, if: :confirmation_required?
|
|
48
50
|
after_create :skip_reconfirmation_in_callback!, if: :send_confirmation_notification?
|
|
49
|
-
if
|
|
51
|
+
if defined?(ActiveRecord) && self.is_a?(ActiveRecord::Base) # ActiveRecord
|
|
50
52
|
after_commit :send_on_create_confirmation_instructions, on: :create, if: :send_confirmation_notification?
|
|
51
53
|
after_commit :send_reconfirmation_instructions, on: :update, if: :reconfirmation_required?
|
|
52
54
|
else # Mongoid
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'devise/strategies/database_authenticatable'
|
|
2
4
|
|
|
3
5
|
module Devise
|
|
@@ -10,7 +12,7 @@ module Devise
|
|
|
10
12
|
# DatabaseAuthenticatable adds the following options to devise_for:
|
|
11
13
|
#
|
|
12
14
|
# * +pepper+: a random string used to provide a more secure hash. Use
|
|
13
|
-
# `
|
|
15
|
+
# `rails secret` to generate new keys.
|
|
14
16
|
#
|
|
15
17
|
# * +stretches+: the cost given to bcrypt.
|
|
16
18
|
#
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "devise/hooks/lockable"
|
|
2
4
|
|
|
3
5
|
module Devise
|
|
@@ -99,8 +101,7 @@ module Devise
|
|
|
99
101
|
if super && !access_locked?
|
|
100
102
|
true
|
|
101
103
|
else
|
|
102
|
-
|
|
103
|
-
self.failed_attempts += 1
|
|
104
|
+
increment_failed_attempts
|
|
104
105
|
if attempts_exceeded?
|
|
105
106
|
lock_access! unless access_locked?
|
|
106
107
|
else
|
|
@@ -109,6 +110,11 @@ module Devise
|
|
|
109
110
|
false
|
|
110
111
|
end
|
|
111
112
|
end
|
|
113
|
+
|
|
114
|
+
def increment_failed_attempts
|
|
115
|
+
self.failed_attempts ||= 0
|
|
116
|
+
self.failed_attempts += 1
|
|
117
|
+
end
|
|
112
118
|
|
|
113
119
|
def unauthenticated_message
|
|
114
120
|
# If set to paranoid mode, do not show the locked message because it
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'devise/strategies/rememberable'
|
|
2
4
|
require 'devise/hooks/rememberable'
|
|
3
5
|
require 'devise/hooks/forgetable'
|
|
4
6
|
|
|
5
7
|
module Devise
|
|
6
8
|
module Models
|
|
7
|
-
# Rememberable manages generating and clearing token for
|
|
9
|
+
# Rememberable manages generating and clearing token for remembering the user
|
|
8
10
|
# from a saved cookie. Rememberable also has utility methods for dealing
|
|
9
11
|
# with serializing the user into the cookie and back from the cookie, trying
|
|
10
12
|
# to lookup the record based on the saved information.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Devise
|
|
2
4
|
module Models
|
|
3
5
|
# Validatable creates all needed validations for a user email and password.
|
|
@@ -10,7 +12,7 @@ module Devise
|
|
|
10
12
|
# Validatable adds the following options to devise_for:
|
|
11
13
|
#
|
|
12
14
|
# * +email_regexp+: the regular expression used to validate e-mails;
|
|
13
|
-
# * +password_length+: a range expressing password length. Defaults to
|
|
15
|
+
# * +password_length+: a range expressing password length. Defaults to 6..128.
|
|
14
16
|
#
|
|
15
17
|
module Validatable
|
|
16
18
|
# All validations used by this module.
|