devise 4.7.1 → 4.9.3

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +87 -4
  3. data/MIT-LICENSE +2 -1
  4. data/README.md +100 -65
  5. data/app/controllers/devise/confirmations_controller.rb +1 -0
  6. data/app/controllers/devise/passwords_controller.rb +2 -2
  7. data/app/controllers/devise/registrations_controller.rb +1 -1
  8. data/app/controllers/devise/sessions_controller.rb +1 -1
  9. data/app/controllers/devise/unlocks_controller.rb +1 -0
  10. data/app/controllers/devise_controller.rb +16 -2
  11. data/app/helpers/devise_helper.rb +19 -7
  12. data/app/mailers/devise/mailer.rb +5 -5
  13. data/app/views/devise/registrations/edit.html.erb +1 -1
  14. data/app/views/devise/shared/_error_messages.html.erb +1 -1
  15. data/app/views/devise/shared/_links.html.erb +1 -1
  16. data/config/locales/en.yml +2 -2
  17. data/lib/devise/controllers/helpers.rb +7 -7
  18. data/lib/devise/controllers/responder.rb +35 -0
  19. data/lib/devise/controllers/sign_in_out.rb +7 -5
  20. data/lib/devise/controllers/url_helpers.rb +1 -1
  21. data/lib/devise/failure_app.rb +8 -5
  22. data/lib/devise/hooks/csrf_cleaner.rb +6 -1
  23. data/lib/devise/hooks/lockable.rb +2 -5
  24. data/lib/devise/hooks/timeoutable.rb +2 -2
  25. data/lib/devise/mapping.rb +1 -1
  26. data/lib/devise/models/authenticatable.rb +13 -8
  27. data/lib/devise/models/confirmable.rb +18 -39
  28. data/lib/devise/models/database_authenticatable.rb +16 -31
  29. data/lib/devise/models/lockable.rb +11 -3
  30. data/lib/devise/models/omniauthable.rb +2 -2
  31. data/lib/devise/models/recoverable.rb +8 -19
  32. data/lib/devise/models/rememberable.rb +2 -2
  33. data/lib/devise/models/timeoutable.rb +1 -1
  34. data/lib/devise/models/trackable.rb +1 -1
  35. data/lib/devise/models/validatable.rb +4 -9
  36. data/lib/devise/models.rb +1 -0
  37. data/lib/devise/omniauth.rb +2 -5
  38. data/lib/devise/orm.rb +71 -0
  39. data/lib/devise/rails/deprecated_constant_accessor.rb +39 -0
  40. data/lib/devise/rails/routes.rb +4 -4
  41. data/lib/devise/rails.rb +4 -0
  42. data/lib/devise/test/controller_helpers.rb +4 -2
  43. data/lib/devise/test/integration_helpers.rb +1 -1
  44. data/lib/devise/test_helpers.rb +1 -1
  45. data/lib/devise/version.rb +1 -1
  46. data/lib/devise.rb +35 -12
  47. data/lib/generators/active_record/devise_generator.rb +17 -2
  48. data/lib/generators/devise/devise_generator.rb +1 -1
  49. data/lib/generators/devise/install_generator.rb +1 -5
  50. data/lib/generators/devise/views_generator.rb +1 -1
  51. data/lib/generators/templates/README +9 -1
  52. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +1 -1
  53. data/lib/generators/templates/devise.rb +25 -11
  54. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +1 -1
  55. metadata +21 -9
@@ -1,5 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Assuming you have not yet modified this file, each configuration option below
4
+ # is set to its default value. Note that some are commented out while others
5
+ # are not: uncommented lines are intended to protect your configuration from
6
+ # breaking changes in upgrades (i.e., in the event that future versions of
7
+ # Devise change the default values for those options).
8
+ #
3
9
  # Use this hook to configure devise mailer, warden hooks and so forth.
4
10
  # Many of these configuration options can be set straight in your model.
5
11
  Devise.setup do |config|
@@ -68,7 +74,10 @@ Devise.setup do |config|
68
74
  # Tell if authentication through HTTP Auth is enabled. False by default.
69
75
  # It can be set to an array that will enable http authentication only for the
70
76
  # given strategies, for example, `config.http_authenticatable = [:database]` will
71
- # enable it only for database authentication. The supported strategies are:
77
+ # enable it only for database authentication.
78
+ # For API-only applications to support authentication "out-of-the-box", you will likely want to
79
+ # enable this with :database unless you are using a custom strategy.
80
+ # The supported strategies are:
72
81
  # :database = Support basic authentication with authentication key + password
73
82
  # config.http_authenticatable = false
74
83
 
@@ -103,15 +112,18 @@ Devise.setup do |config|
103
112
  # config.reload_routes = true
104
113
 
105
114
  # ==> Configuration for :database_authenticatable
106
- # For bcrypt, this is the cost for hashing the password and defaults to 11. If
115
+ # For bcrypt, this is the cost for hashing the password and defaults to 12. If
107
116
  # using other algorithms, it sets how many times you want the password to be hashed.
117
+ # The number of stretches used for generating the hashed password are stored
118
+ # with the hashed password. This allows you to change the stretches without
119
+ # invalidating existing passwords.
108
120
  #
109
121
  # Limiting the stretches to just one in testing will increase the performance of
110
122
  # your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
111
123
  # a value less than 10 in other environments. Note that, for bcrypt (the default
112
124
  # algorithm), the cost increases exponentially with the number of stretches (e.g.
113
125
  # a value of 20 is already extremely slow: approx. 60 seconds for 1 calculation).
114
- config.stretches = Rails.env.test? ? 1 : 11
126
+ config.stretches = Rails.env.test? ? 1 : 12
115
127
 
116
128
  # Set up a pepper to generate the hashed password.
117
129
  # config.pepper = '<%= SecureRandom.hex(64) %>'
@@ -244,14 +256,14 @@ Devise.setup do |config|
244
256
 
245
257
  # ==> Navigation configuration
246
258
  # Lists the formats that should be treated as navigational. Formats like
247
- # :html, should redirect to the sign in page when the user does not have
259
+ # :html should redirect to the sign in page when the user does not have
248
260
  # access, but formats like :xml or :json, should return 401.
249
261
  #
250
262
  # If you have any extra navigational formats, like :iphone or :mobile, you
251
263
  # should add them to the navigational formats lists.
252
264
  #
253
265
  # The "*/*" below is required to match Internet Explorer requests.
254
- # config.navigational_formats = ['*/*', :html]
266
+ # config.navigational_formats = ['*/*', :html, :turbo_stream]
255
267
 
256
268
  # The default HTTP method used to sign out a resource. Default is :delete.
257
269
  config.sign_out_via = :delete
@@ -284,12 +296,14 @@ Devise.setup do |config|
284
296
  # so you need to do it manually. For the users scope, it would be:
285
297
  # config.omniauth_path_prefix = '/my_engine/users/auth'
286
298
 
287
- # ==> Turbolinks configuration
288
- # If your app is using Turbolinks, Turbolinks::Controller needs to be included to make redirection work correctly:
289
- #
290
- # ActiveSupport.on_load(:devise_failure_app) do
291
- # include Turbolinks::Controller
292
- # end
299
+ # ==> Hotwire/Turbo configuration
300
+ # When using Devise with Hotwire/Turbo, the http status for error responses
301
+ # and some redirects must match the following. The default in Devise for existing
302
+ # apps is `200 OK` and `302 Found` respectively, but new apps are generated with
303
+ # these new defaults that match Hotwire/Turbo behavior.
304
+ # Note: These might become the new default in future versions of Devise.
305
+ config.responder.error_status = :unprocessable_entity
306
+ config.responder.redirect_status = :see_other
293
307
 
294
308
  # ==> Configuration for :registerable
295
309
 
@@ -30,6 +30,6 @@
30
30
 
31
31
  <h3>Cancel my account</h3>
32
32
 
33
- <p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete %></p>
33
+ <div>Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?", turbo_confirm: "Are you sure?" }, method: :delete %></div>
34
34
 
35
35
  <%= link_to "Back", :back %>
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.7.1
4
+ version: 4.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - José Valim
8
8
  - Carlos Antônio
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-09-06 00:00:00.000000000 Z
12
+ date: 2023-10-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: warden
@@ -82,7 +82,7 @@ dependencies:
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  description: Flexible authentication solution for Rails with Warden
85
- email: contact@plataformatec.com.br
85
+ email: heartcombo@googlegroups.com
86
86
  executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
@@ -117,6 +117,7 @@ files:
117
117
  - lib/devise.rb
118
118
  - lib/devise/controllers/helpers.rb
119
119
  - lib/devise/controllers/rememberable.rb
120
+ - lib/devise/controllers/responder.rb
120
121
  - lib/devise/controllers/scoped_views.rb
121
122
  - lib/devise/controllers/sign_in_out.rb
122
123
  - lib/devise/controllers/store_location.rb
@@ -150,11 +151,13 @@ files:
150
151
  - lib/devise/omniauth.rb
151
152
  - lib/devise/omniauth/config.rb
152
153
  - lib/devise/omniauth/url_helpers.rb
154
+ - lib/devise/orm.rb
153
155
  - lib/devise/orm/active_record.rb
154
156
  - lib/devise/orm/mongoid.rb
155
157
  - lib/devise/parameter_filter.rb
156
158
  - lib/devise/parameter_sanitizer.rb
157
159
  - lib/devise/rails.rb
160
+ - lib/devise/rails/deprecated_constant_accessor.rb
158
161
  - lib/devise/rails/routes.rb
159
162
  - lib/devise/rails/warden_compat.rb
160
163
  - lib/devise/secret_key_finder.rb
@@ -198,11 +201,20 @@ files:
198
201
  - lib/generators/templates/simple_form_for/registrations/new.html.erb
199
202
  - lib/generators/templates/simple_form_for/sessions/new.html.erb
200
203
  - lib/generators/templates/simple_form_for/unlocks/new.html.erb
201
- homepage: https://github.com/plataformatec/devise
204
+ homepage: https://github.com/heartcombo/devise
202
205
  licenses:
203
206
  - MIT
204
- metadata: {}
205
- post_install_message:
207
+ metadata:
208
+ homepage_uri: https://github.com/heartcombo/devise
209
+ documentation_uri: https://rubydoc.info/github/heartcombo/devise
210
+ changelog_uri: https://github.com/heartcombo/devise/blob/main/CHANGELOG.md
211
+ source_code_uri: https://github.com/heartcombo/devise
212
+ bug_tracker_uri: https://github.com/heartcombo/devise/issues
213
+ wiki_uri: https://github.com/heartcombo/devise/wiki
214
+ post_install_message: "\n[DEVISE] Please review the [changelog] and [upgrade guide]
215
+ for more info on Hotwire / Turbo integration.\n\n [changelog] https://github.com/heartcombo/devise/blob/main/CHANGELOG.md\n
216
+ \ [upgrade guide] https://github.com/heartcombo/devise/wiki/How-To:-Upgrade-to-Devise-4.9.0-%5BHotwire-Turbo-integration%5D\n
217
+ \ "
206
218
  rdoc_options: []
207
219
  require_paths:
208
220
  - lib
@@ -217,8 +229,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
217
229
  - !ruby/object:Gem::Version
218
230
  version: '0'
219
231
  requirements: []
220
- rubygems_version: 3.0.6
221
- signing_key:
232
+ rubygems_version: 3.4.10
233
+ signing_key:
222
234
  specification_version: 4
223
235
  summary: Flexible authentication solution for Rails with Warden
224
236
  test_files: []