devise 4.4.3 → 4.9.4

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 (236) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +174 -4
  3. data/MIT-LICENSE +2 -1
  4. data/README.md +129 -65
  5. data/app/controllers/devise/confirmations_controller.rb +1 -0
  6. data/app/controllers/devise/passwords_controller.rb +3 -2
  7. data/app/controllers/devise/registrations_controller.rb +27 -9
  8. data/app/controllers/devise/sessions_controller.rb +2 -2
  9. data/app/controllers/devise/unlocks_controller.rb +1 -0
  10. data/app/controllers/devise_controller.rb +17 -3
  11. data/app/helpers/devise_helper.rb +21 -18
  12. data/app/mailers/devise/mailer.rb +5 -5
  13. data/app/views/devise/confirmations/new.html.erb +1 -1
  14. data/app/views/devise/passwords/edit.html.erb +3 -3
  15. data/app/views/devise/passwords/new.html.erb +1 -1
  16. data/app/views/devise/registrations/edit.html.erb +5 -5
  17. data/app/views/devise/registrations/new.html.erb +3 -3
  18. data/app/views/devise/sessions/new.html.erb +3 -3
  19. data/app/views/devise/shared/_error_messages.html.erb +15 -0
  20. data/app/views/devise/shared/_links.html.erb +8 -8
  21. data/app/views/devise/unlocks/new.html.erb +1 -1
  22. data/config/locales/en.yml +3 -2
  23. data/lib/devise/controllers/helpers.rb +10 -8
  24. data/lib/devise/controllers/responder.rb +35 -0
  25. data/lib/devise/controllers/sign_in_out.rb +9 -4
  26. data/lib/devise/controllers/url_helpers.rb +1 -1
  27. data/lib/devise/failure_app.rb +41 -8
  28. data/lib/devise/hooks/csrf_cleaner.rb +6 -1
  29. data/lib/devise/hooks/lockable.rb +2 -5
  30. data/lib/devise/hooks/timeoutable.rb +2 -2
  31. data/lib/devise/mapping.rb +1 -1
  32. data/lib/devise/models/authenticatable.rb +51 -48
  33. data/lib/devise/models/confirmable.rb +34 -40
  34. data/lib/devise/models/database_authenticatable.rb +54 -35
  35. data/lib/devise/models/lockable.rb +13 -5
  36. data/lib/devise/models/omniauthable.rb +2 -2
  37. data/lib/devise/models/recoverable.rb +8 -19
  38. data/lib/devise/models/registerable.rb +2 -0
  39. data/lib/devise/models/rememberable.rb +2 -2
  40. data/lib/devise/models/timeoutable.rb +1 -1
  41. data/lib/devise/models/trackable.rb +9 -2
  42. data/lib/devise/models/validatable.rb +4 -9
  43. data/lib/devise/models.rb +1 -0
  44. data/lib/devise/omniauth.rb +2 -5
  45. data/lib/devise/orm.rb +71 -0
  46. data/lib/devise/parameter_filter.rb +2 -0
  47. data/lib/devise/parameter_sanitizer.rb +13 -1
  48. data/lib/devise/rails/deprecated_constant_accessor.rb +39 -0
  49. data/lib/devise/rails/routes.rb +6 -6
  50. data/lib/devise/rails.rb +4 -0
  51. data/lib/devise/secret_key_finder.rb +2 -0
  52. data/lib/devise/strategies/authenticatable.rb +1 -1
  53. data/lib/devise/strategies/database_authenticatable.rb +6 -1
  54. data/lib/devise/test/controller_helpers.rb +5 -3
  55. data/lib/devise/test/integration_helpers.rb +1 -1
  56. data/lib/devise/test_helpers.rb +1 -1
  57. data/lib/devise/version.rb +1 -1
  58. data/lib/devise.rb +38 -11
  59. data/lib/generators/active_record/devise_generator.rb +26 -11
  60. data/lib/generators/devise/controllers_generator.rb +1 -1
  61. data/lib/generators/devise/devise_generator.rb +1 -1
  62. data/lib/generators/devise/install_generator.rb +1 -5
  63. data/lib/generators/devise/orm_helpers.rb +2 -2
  64. data/lib/generators/devise/views_generator.rb +1 -1
  65. data/lib/generators/mongoid/devise_generator.rb +5 -5
  66. data/lib/generators/templates/README +9 -1
  67. data/lib/generators/templates/controllers/omniauth_callbacks_controller.rb +1 -1
  68. data/lib/generators/templates/devise.rb +38 -8
  69. data/lib/generators/templates/simple_form_for/confirmations/new.html.erb +5 -1
  70. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +10 -2
  71. data/lib/generators/templates/simple_form_for/passwords/new.html.erb +4 -1
  72. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +12 -4
  73. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +11 -3
  74. data/lib/generators/templates/simple_form_for/sessions/new.html.erb +7 -2
  75. data/lib/generators/templates/simple_form_for/unlocks/new.html.erb +4 -1
  76. metadata +23 -316
  77. data/.gitignore +0 -10
  78. data/.travis.yml +0 -68
  79. data/.yardopts +0 -9
  80. data/CODE_OF_CONDUCT.md +0 -22
  81. data/CONTRIBUTING.md +0 -79
  82. data/Gemfile +0 -39
  83. data/Gemfile.lock +0 -193
  84. data/ISSUE_TEMPLATE.md +0 -19
  85. data/Rakefile +0 -37
  86. data/bin/test +0 -13
  87. data/devise.gemspec +0 -28
  88. data/devise.png +0 -0
  89. data/gemfiles/Gemfile.rails-4.1-stable +0 -32
  90. data/gemfiles/Gemfile.rails-4.1-stable.lock +0 -171
  91. data/gemfiles/Gemfile.rails-4.2-stable +0 -32
  92. data/gemfiles/Gemfile.rails-4.2-stable.lock +0 -192
  93. data/gemfiles/Gemfile.rails-5.0-stable +0 -33
  94. data/gemfiles/Gemfile.rails-5.0-stable.lock +0 -192
  95. data/gemfiles/Gemfile.rails-5.2-rc1 +0 -26
  96. data/gemfiles/Gemfile.rails-5.2-rc1.lock +0 -201
  97. data/guides/bug_report_templates/integration_test.rb +0 -106
  98. data/test/controllers/custom_registrations_controller_test.rb +0 -42
  99. data/test/controllers/custom_strategy_test.rb +0 -66
  100. data/test/controllers/helper_methods_test.rb +0 -24
  101. data/test/controllers/helpers_test.rb +0 -318
  102. data/test/controllers/inherited_controller_i18n_messages_test.rb +0 -53
  103. data/test/controllers/internal_helpers_test.rb +0 -129
  104. data/test/controllers/load_hooks_controller_test.rb +0 -21
  105. data/test/controllers/passwords_controller_test.rb +0 -34
  106. data/test/controllers/sessions_controller_test.rb +0 -108
  107. data/test/controllers/url_helpers_test.rb +0 -67
  108. data/test/delegator_test.rb +0 -21
  109. data/test/devise_test.rb +0 -109
  110. data/test/failure_app_test.rb +0 -340
  111. data/test/generators/active_record_generator_test.rb +0 -130
  112. data/test/generators/controllers_generator_test.rb +0 -50
  113. data/test/generators/devise_generator_test.rb +0 -41
  114. data/test/generators/install_generator_test.rb +0 -26
  115. data/test/generators/mongoid_generator_test.rb +0 -25
  116. data/test/generators/views_generator_test.rb +0 -105
  117. data/test/helpers/devise_helper_test.rb +0 -51
  118. data/test/integration/authenticatable_test.rb +0 -706
  119. data/test/integration/confirmable_test.rb +0 -326
  120. data/test/integration/database_authenticatable_test.rb +0 -97
  121. data/test/integration/http_authenticatable_test.rb +0 -114
  122. data/test/integration/lockable_test.rb +0 -242
  123. data/test/integration/mounted_engine_test.rb +0 -38
  124. data/test/integration/omniauthable_test.rb +0 -148
  125. data/test/integration/recoverable_test.rb +0 -349
  126. data/test/integration/registerable_test.rb +0 -365
  127. data/test/integration/rememberable_test.rb +0 -219
  128. data/test/integration/timeoutable_test.rb +0 -186
  129. data/test/integration/trackable_test.rb +0 -99
  130. data/test/mailers/confirmation_instructions_test.rb +0 -117
  131. data/test/mailers/email_changed_test.rb +0 -132
  132. data/test/mailers/mailer_test.rb +0 -20
  133. data/test/mailers/reset_password_instructions_test.rb +0 -98
  134. data/test/mailers/unlock_instructions_test.rb +0 -93
  135. data/test/mapping_test.rb +0 -136
  136. data/test/models/authenticatable_test.rb +0 -25
  137. data/test/models/confirmable_test.rb +0 -549
  138. data/test/models/database_authenticatable_test.rb +0 -283
  139. data/test/models/lockable_test.rb +0 -352
  140. data/test/models/omniauthable_test.rb +0 -9
  141. data/test/models/recoverable_test.rb +0 -263
  142. data/test/models/registerable_test.rb +0 -9
  143. data/test/models/rememberable_test.rb +0 -184
  144. data/test/models/serializable_test.rb +0 -60
  145. data/test/models/timeoutable_test.rb +0 -53
  146. data/test/models/trackable_test.rb +0 -62
  147. data/test/models/validatable_test.rb +0 -121
  148. data/test/models_test.rb +0 -155
  149. data/test/omniauth/config_test.rb +0 -61
  150. data/test/omniauth/url_helpers_test.rb +0 -53
  151. data/test/orm/active_record.rb +0 -24
  152. data/test/orm/mongoid.rb +0 -15
  153. data/test/parameter_sanitizer_test.rb +0 -77
  154. data/test/rails_app/Rakefile +0 -6
  155. data/test/rails_app/app/active_record/admin.rb +0 -8
  156. data/test/rails_app/app/active_record/shim.rb +0 -4
  157. data/test/rails_app/app/active_record/user.rb +0 -20
  158. data/test/rails_app/app/active_record/user_on_engine.rb +0 -9
  159. data/test/rails_app/app/active_record/user_on_main_app.rb +0 -9
  160. data/test/rails_app/app/active_record/user_with_validations.rb +0 -12
  161. data/test/rails_app/app/active_record/user_without_email.rb +0 -10
  162. data/test/rails_app/app/controllers/admins/sessions_controller.rb +0 -8
  163. data/test/rails_app/app/controllers/admins_controller.rb +0 -8
  164. data/test/rails_app/app/controllers/application_controller.rb +0 -13
  165. data/test/rails_app/app/controllers/application_with_fake_engine.rb +0 -32
  166. data/test/rails_app/app/controllers/custom/registrations_controller.rb +0 -33
  167. data/test/rails_app/app/controllers/home_controller.rb +0 -31
  168. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +0 -4
  169. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +0 -4
  170. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +0 -16
  171. data/test/rails_app/app/controllers/users_controller.rb +0 -33
  172. data/test/rails_app/app/helpers/application_helper.rb +0 -5
  173. data/test/rails_app/app/mailers/users/from_proc_mailer.rb +0 -5
  174. data/test/rails_app/app/mailers/users/mailer.rb +0 -5
  175. data/test/rails_app/app/mailers/users/reply_to_mailer.rb +0 -6
  176. data/test/rails_app/app/mongoid/admin.rb +0 -31
  177. data/test/rails_app/app/mongoid/shim.rb +0 -25
  178. data/test/rails_app/app/mongoid/user.rb +0 -50
  179. data/test/rails_app/app/mongoid/user_on_engine.rb +0 -41
  180. data/test/rails_app/app/mongoid/user_on_main_app.rb +0 -41
  181. data/test/rails_app/app/mongoid/user_with_validations.rb +0 -37
  182. data/test/rails_app/app/mongoid/user_without_email.rb +0 -35
  183. data/test/rails_app/app/views/admins/index.html.erb +0 -1
  184. data/test/rails_app/app/views/admins/sessions/new.html.erb +0 -2
  185. data/test/rails_app/app/views/home/admin_dashboard.html.erb +0 -1
  186. data/test/rails_app/app/views/home/index.html.erb +0 -1
  187. data/test/rails_app/app/views/home/join.html.erb +0 -1
  188. data/test/rails_app/app/views/home/private.html.erb +0 -1
  189. data/test/rails_app/app/views/home/user_dashboard.html.erb +0 -1
  190. data/test/rails_app/app/views/layouts/application.html.erb +0 -24
  191. data/test/rails_app/app/views/users/edit_form.html.erb +0 -1
  192. data/test/rails_app/app/views/users/index.html.erb +0 -1
  193. data/test/rails_app/app/views/users/mailer/confirmation_instructions.erb +0 -1
  194. data/test/rails_app/app/views/users/sessions/new.html.erb +0 -1
  195. data/test/rails_app/bin/bundle +0 -3
  196. data/test/rails_app/bin/rails +0 -4
  197. data/test/rails_app/bin/rake +0 -4
  198. data/test/rails_app/config/application.rb +0 -48
  199. data/test/rails_app/config/boot.rb +0 -27
  200. data/test/rails_app/config/database.yml +0 -18
  201. data/test/rails_app/config/environment.rb +0 -7
  202. data/test/rails_app/config/environments/development.rb +0 -32
  203. data/test/rails_app/config/environments/production.rb +0 -88
  204. data/test/rails_app/config/environments/test.rb +0 -47
  205. data/test/rails_app/config/initializers/backtrace_silencers.rb +0 -9
  206. data/test/rails_app/config/initializers/devise.rb +0 -182
  207. data/test/rails_app/config/initializers/inflections.rb +0 -4
  208. data/test/rails_app/config/initializers/secret_token.rb +0 -5
  209. data/test/rails_app/config/initializers/session_store.rb +0 -3
  210. data/test/rails_app/config/routes.rb +0 -128
  211. data/test/rails_app/config.ru +0 -4
  212. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +0 -77
  213. data/test/rails_app/db/schema.rb +0 -57
  214. data/test/rails_app/lib/shared_admin.rb +0 -23
  215. data/test/rails_app/lib/shared_user.rb +0 -32
  216. data/test/rails_app/lib/shared_user_without_email.rb +0 -28
  217. data/test/rails_app/lib/shared_user_without_omniauth.rb +0 -15
  218. data/test/rails_app/public/404.html +0 -26
  219. data/test/rails_app/public/422.html +0 -26
  220. data/test/rails_app/public/500.html +0 -26
  221. data/test/rails_app/public/favicon.ico +0 -0
  222. data/test/rails_test.rb +0 -11
  223. data/test/routes_test.rb +0 -281
  224. data/test/secret_key_finder_test.rb +0 -97
  225. data/test/support/action_controller/record_identifier.rb +0 -12
  226. data/test/support/assertions.rb +0 -30
  227. data/test/support/helpers.rb +0 -83
  228. data/test/support/http_method_compatibility.rb +0 -53
  229. data/test/support/integration.rb +0 -95
  230. data/test/support/locale/en.yml +0 -8
  231. data/test/support/mongoid.yml +0 -6
  232. data/test/support/webrat/integrations/rails.rb +0 -35
  233. data/test/test/controller_helpers_test.rb +0 -193
  234. data/test/test/integration_helpers_test.rb +0 -34
  235. data/test/test_helper.rb +0 -36
  236. data/test/test_models.rb +0 -35
@@ -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|
@@ -9,7 +15,7 @@ Devise.setup do |config|
9
15
  # Devise will use the `secret_key_base` as its `secret_key`
10
16
  # by default. You can change it below and use your own secret key.
11
17
  # config.secret_key = '<%= SecureRandom.hex(64) %>'
12
-
18
+
13
19
  # ==> Controller configuration
14
20
  # Configure the parent class to the devise controllers.
15
21
  # config.parent_controller = 'DeviseController'
@@ -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) %>'
@@ -126,8 +138,11 @@ Devise.setup do |config|
126
138
  # A period that the user is allowed to access the website even without
127
139
  # confirming their account. For instance, if set to 2.days, the user will be
128
140
  # able to access the website for two days without confirming their account,
129
- # access will be blocked just in the third day. Default is 0.days, meaning
130
- # the user cannot access the website without confirming their account.
141
+ # access will be blocked just in the third day.
142
+ # You can also set it to nil, which will allow the user to access the website
143
+ # without confirming their account.
144
+ # Default is 0.days, meaning the user cannot access the website without
145
+ # confirming their account.
131
146
  # config.allow_unconfirmed_access_for = 2.days
132
147
 
133
148
  # A period that the user is allowed to confirm their account before their
@@ -241,14 +256,14 @@ Devise.setup do |config|
241
256
 
242
257
  # ==> Navigation configuration
243
258
  # Lists the formats that should be treated as navigational. Formats like
244
- # :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
245
260
  # access, but formats like :xml or :json, should return 401.
246
261
  #
247
262
  # If you have any extra navigational formats, like :iphone or :mobile, you
248
263
  # should add them to the navigational formats lists.
249
264
  #
250
265
  # The "*/*" below is required to match Internet Explorer requests.
251
- # config.navigational_formats = ['*/*', :html]
266
+ # config.navigational_formats = ['*/*', :html, :turbo_stream]
252
267
 
253
268
  # The default HTTP method used to sign out a resource. Default is :delete.
254
269
  config.sign_out_via = :delete
@@ -280,4 +295,19 @@ Devise.setup do |config|
280
295
  # When using OmniAuth, Devise cannot automatically set OmniAuth path,
281
296
  # so you need to do it manually. For the users scope, it would be:
282
297
  # config.omniauth_path_prefix = '/my_engine/users/auth'
298
+
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
307
+
308
+ # ==> Configuration for :registerable
309
+
310
+ # When set to false, does not sign a user in automatically after their password is
311
+ # changed. Defaults to true, so a user is signed in automatically after changing a password.
312
+ # config.sign_in_after_change_password = true
283
313
  end
@@ -5,7 +5,11 @@
5
5
  <%= f.full_error :confirmation_token %>
6
6
 
7
7
  <div class="form-inputs">
8
- <%= f.input :email, required: true, autofocus: true %>
8
+ <%= f.input :email,
9
+ required: true,
10
+ autofocus: true,
11
+ value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email),
12
+ input_html: { autocomplete: "email" } %>
9
13
  </div>
10
14
 
11
15
  <div class="form-actions">
@@ -7,8 +7,16 @@
7
7
  <%= f.full_error :reset_password_token %>
8
8
 
9
9
  <div class="form-inputs">
10
- <%= f.input :password, label: "New password", required: true, autofocus: true, hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) %>
11
- <%= f.input :password_confirmation, label: "Confirm your new password", required: true %>
10
+ <%= f.input :password,
11
+ label: "New password",
12
+ required: true,
13
+ autofocus: true,
14
+ hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length),
15
+ input_html: { autocomplete: "new-password" } %>
16
+ <%= f.input :password_confirmation,
17
+ label: "Confirm your new password",
18
+ required: true,
19
+ input_html: { autocomplete: "new-password" } %>
12
20
  </div>
13
21
 
14
22
  <div class="form-actions">
@@ -4,7 +4,10 @@
4
4
  <%= f.error_notification %>
5
5
 
6
6
  <div class="form-inputs">
7
- <%= f.input :email, required: true, autofocus: true %>
7
+ <%= f.input :email,
8
+ required: true,
9
+ autofocus: true,
10
+ input_html: { autocomplete: "email" } %>
8
11
  </div>
9
12
 
10
13
  <div class="form-actions">
@@ -10,9 +10,17 @@
10
10
  <p>Currently waiting confirmation for: <%= resource.unconfirmed_email %></p>
11
11
  <% end %>
12
12
 
13
- <%= f.input :password, autocomplete: "off", hint: "leave it blank if you don't want to change it", required: false %>
14
- <%= f.input :password_confirmation, required: false %>
15
- <%= f.input :current_password, hint: "we need your current password to confirm your changes", required: true %>
13
+ <%= f.input :password,
14
+ hint: "leave it blank if you don't want to change it",
15
+ required: false,
16
+ input_html: { autocomplete: "new-password" } %>
17
+ <%= f.input :password_confirmation,
18
+ required: false,
19
+ input_html: { autocomplete: "new-password" } %>
20
+ <%= f.input :current_password,
21
+ hint: "we need your current password to confirm your changes",
22
+ required: true,
23
+ input_html: { autocomplete: "current-password" } %>
16
24
  </div>
17
25
 
18
26
  <div class="form-actions">
@@ -22,6 +30,6 @@
22
30
 
23
31
  <h3>Cancel my account</h3>
24
32
 
25
- <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>
26
34
 
27
35
  <%= link_to "Back", :back %>
@@ -4,9 +4,17 @@
4
4
  <%= f.error_notification %>
5
5
 
6
6
  <div class="form-inputs">
7
- <%= f.input :email, required: true, autofocus: true %>
8
- <%= f.input :password, required: true, hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) %>
9
- <%= f.input :password_confirmation, required: true %>
7
+ <%= f.input :email,
8
+ required: true,
9
+ autofocus: true,
10
+ input_html: { autocomplete: "email" }%>
11
+ <%= f.input :password,
12
+ required: true,
13
+ hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length),
14
+ input_html: { autocomplete: "new-password" } %>
15
+ <%= f.input :password_confirmation,
16
+ required: true,
17
+ input_html: { autocomplete: "new-password" } %>
10
18
  </div>
11
19
 
12
20
  <div class="form-actions">
@@ -2,8 +2,13 @@
2
2
 
3
3
  <%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
4
4
  <div class="form-inputs">
5
- <%= f.input :email, required: false, autofocus: true %>
6
- <%= f.input :password, required: false %>
5
+ <%= f.input :email,
6
+ required: false,
7
+ autofocus: true,
8
+ input_html: { autocomplete: "email" } %>
9
+ <%= f.input :password,
10
+ required: false,
11
+ input_html: { autocomplete: "current-password" } %>
7
12
  <%= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %>
8
13
  </div>
9
14
 
@@ -5,7 +5,10 @@
5
5
  <%= f.full_error :unlock_token %>
6
6
 
7
7
  <div class="form-inputs">
8
- <%= f.input :email, required: true, autofocus: true %>
8
+ <%= f.input :email,
9
+ required: true,
10
+ autofocus: true,
11
+ input_html: { autocomplete: "email" } %>
9
12
  </div>
10
13
 
11
14
  <div class="form-actions">
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.4.3
4
+ version: 4.9.4
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: 2018-03-18 00:00:00.000000000 Z
12
+ date: 2024-04-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: warden
@@ -60,9 +60,6 @@ dependencies:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: 4.1.0
63
- - - "<"
64
- - !ruby/object:Gem::Version
65
- version: '6.0'
66
63
  type: :runtime
67
64
  prerelease: false
68
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -70,9 +67,6 @@ dependencies:
70
67
  - - ">="
71
68
  - !ruby/object:Gem::Version
72
69
  version: 4.1.0
73
- - - "<"
74
- - !ruby/object:Gem::Version
75
- version: '6.0'
76
70
  - !ruby/object:Gem::Dependency
77
71
  name: responders
78
72
  requirement: !ruby/object:Gem::Requirement
@@ -88,23 +82,14 @@ dependencies:
88
82
  - !ruby/object:Gem::Version
89
83
  version: '0'
90
84
  description: Flexible authentication solution for Rails with Warden
91
- email: contact@plataformatec.com.br
85
+ email: heartcombo@googlegroups.com
92
86
  executables: []
93
87
  extensions: []
94
88
  extra_rdoc_files: []
95
89
  files:
96
- - ".gitignore"
97
- - ".travis.yml"
98
- - ".yardopts"
99
90
  - CHANGELOG.md
100
- - CODE_OF_CONDUCT.md
101
- - CONTRIBUTING.md
102
- - Gemfile
103
- - Gemfile.lock
104
- - ISSUE_TEMPLATE.md
105
91
  - MIT-LICENSE
106
92
  - README.md
107
- - Rakefile
108
93
  - app/controllers/devise/confirmations_controller.rb
109
94
  - app/controllers/devise/omniauth_callbacks_controller.rb
110
95
  - app/controllers/devise/passwords_controller.rb
@@ -125,24 +110,14 @@ files:
125
110
  - app/views/devise/registrations/edit.html.erb
126
111
  - app/views/devise/registrations/new.html.erb
127
112
  - app/views/devise/sessions/new.html.erb
113
+ - app/views/devise/shared/_error_messages.html.erb
128
114
  - app/views/devise/shared/_links.html.erb
129
115
  - app/views/devise/unlocks/new.html.erb
130
- - bin/test
131
116
  - config/locales/en.yml
132
- - devise.gemspec
133
- - devise.png
134
- - gemfiles/Gemfile.rails-4.1-stable
135
- - gemfiles/Gemfile.rails-4.1-stable.lock
136
- - gemfiles/Gemfile.rails-4.2-stable
137
- - gemfiles/Gemfile.rails-4.2-stable.lock
138
- - gemfiles/Gemfile.rails-5.0-stable
139
- - gemfiles/Gemfile.rails-5.0-stable.lock
140
- - gemfiles/Gemfile.rails-5.2-rc1
141
- - gemfiles/Gemfile.rails-5.2-rc1.lock
142
- - guides/bug_report_templates/integration_test.rb
143
117
  - lib/devise.rb
144
118
  - lib/devise/controllers/helpers.rb
145
119
  - lib/devise/controllers/rememberable.rb
120
+ - lib/devise/controllers/responder.rb
146
121
  - lib/devise/controllers/scoped_views.rb
147
122
  - lib/devise/controllers/sign_in_out.rb
148
123
  - lib/devise/controllers/store_location.rb
@@ -176,11 +151,13 @@ files:
176
151
  - lib/devise/omniauth.rb
177
152
  - lib/devise/omniauth/config.rb
178
153
  - lib/devise/omniauth/url_helpers.rb
154
+ - lib/devise/orm.rb
179
155
  - lib/devise/orm/active_record.rb
180
156
  - lib/devise/orm/mongoid.rb
181
157
  - lib/devise/parameter_filter.rb
182
158
  - lib/devise/parameter_sanitizer.rb
183
159
  - lib/devise/rails.rb
160
+ - lib/devise/rails/deprecated_constant_accessor.rb
184
161
  - lib/devise/rails/routes.rb
185
162
  - lib/devise/rails/warden_compat.rb
186
163
  - lib/devise/secret_key_finder.rb
@@ -224,150 +201,20 @@ files:
224
201
  - lib/generators/templates/simple_form_for/registrations/new.html.erb
225
202
  - lib/generators/templates/simple_form_for/sessions/new.html.erb
226
203
  - lib/generators/templates/simple_form_for/unlocks/new.html.erb
227
- - test/controllers/custom_registrations_controller_test.rb
228
- - test/controllers/custom_strategy_test.rb
229
- - test/controllers/helper_methods_test.rb
230
- - test/controllers/helpers_test.rb
231
- - test/controllers/inherited_controller_i18n_messages_test.rb
232
- - test/controllers/internal_helpers_test.rb
233
- - test/controllers/load_hooks_controller_test.rb
234
- - test/controllers/passwords_controller_test.rb
235
- - test/controllers/sessions_controller_test.rb
236
- - test/controllers/url_helpers_test.rb
237
- - test/delegator_test.rb
238
- - test/devise_test.rb
239
- - test/failure_app_test.rb
240
- - test/generators/active_record_generator_test.rb
241
- - test/generators/controllers_generator_test.rb
242
- - test/generators/devise_generator_test.rb
243
- - test/generators/install_generator_test.rb
244
- - test/generators/mongoid_generator_test.rb
245
- - test/generators/views_generator_test.rb
246
- - test/helpers/devise_helper_test.rb
247
- - test/integration/authenticatable_test.rb
248
- - test/integration/confirmable_test.rb
249
- - test/integration/database_authenticatable_test.rb
250
- - test/integration/http_authenticatable_test.rb
251
- - test/integration/lockable_test.rb
252
- - test/integration/mounted_engine_test.rb
253
- - test/integration/omniauthable_test.rb
254
- - test/integration/recoverable_test.rb
255
- - test/integration/registerable_test.rb
256
- - test/integration/rememberable_test.rb
257
- - test/integration/timeoutable_test.rb
258
- - test/integration/trackable_test.rb
259
- - test/mailers/confirmation_instructions_test.rb
260
- - test/mailers/email_changed_test.rb
261
- - test/mailers/mailer_test.rb
262
- - test/mailers/reset_password_instructions_test.rb
263
- - test/mailers/unlock_instructions_test.rb
264
- - test/mapping_test.rb
265
- - test/models/authenticatable_test.rb
266
- - test/models/confirmable_test.rb
267
- - test/models/database_authenticatable_test.rb
268
- - test/models/lockable_test.rb
269
- - test/models/omniauthable_test.rb
270
- - test/models/recoverable_test.rb
271
- - test/models/registerable_test.rb
272
- - test/models/rememberable_test.rb
273
- - test/models/serializable_test.rb
274
- - test/models/timeoutable_test.rb
275
- - test/models/trackable_test.rb
276
- - test/models/validatable_test.rb
277
- - test/models_test.rb
278
- - test/omniauth/config_test.rb
279
- - test/omniauth/url_helpers_test.rb
280
- - test/orm/active_record.rb
281
- - test/orm/mongoid.rb
282
- - test/parameter_sanitizer_test.rb
283
- - test/rails_app/Rakefile
284
- - test/rails_app/app/active_record/admin.rb
285
- - test/rails_app/app/active_record/shim.rb
286
- - test/rails_app/app/active_record/user.rb
287
- - test/rails_app/app/active_record/user_on_engine.rb
288
- - test/rails_app/app/active_record/user_on_main_app.rb
289
- - test/rails_app/app/active_record/user_with_validations.rb
290
- - test/rails_app/app/active_record/user_without_email.rb
291
- - test/rails_app/app/controllers/admins/sessions_controller.rb
292
- - test/rails_app/app/controllers/admins_controller.rb
293
- - test/rails_app/app/controllers/application_controller.rb
294
- - test/rails_app/app/controllers/application_with_fake_engine.rb
295
- - test/rails_app/app/controllers/custom/registrations_controller.rb
296
- - test/rails_app/app/controllers/home_controller.rb
297
- - test/rails_app/app/controllers/publisher/registrations_controller.rb
298
- - test/rails_app/app/controllers/publisher/sessions_controller.rb
299
- - test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb
300
- - test/rails_app/app/controllers/users_controller.rb
301
- - test/rails_app/app/helpers/application_helper.rb
302
- - test/rails_app/app/mailers/users/from_proc_mailer.rb
303
- - test/rails_app/app/mailers/users/mailer.rb
304
- - test/rails_app/app/mailers/users/reply_to_mailer.rb
305
- - test/rails_app/app/mongoid/admin.rb
306
- - test/rails_app/app/mongoid/shim.rb
307
- - test/rails_app/app/mongoid/user.rb
308
- - test/rails_app/app/mongoid/user_on_engine.rb
309
- - test/rails_app/app/mongoid/user_on_main_app.rb
310
- - test/rails_app/app/mongoid/user_with_validations.rb
311
- - test/rails_app/app/mongoid/user_without_email.rb
312
- - test/rails_app/app/views/admins/index.html.erb
313
- - test/rails_app/app/views/admins/sessions/new.html.erb
314
- - test/rails_app/app/views/home/admin_dashboard.html.erb
315
- - test/rails_app/app/views/home/index.html.erb
316
- - test/rails_app/app/views/home/join.html.erb
317
- - test/rails_app/app/views/home/private.html.erb
318
- - test/rails_app/app/views/home/user_dashboard.html.erb
319
- - test/rails_app/app/views/layouts/application.html.erb
320
- - test/rails_app/app/views/users/edit_form.html.erb
321
- - test/rails_app/app/views/users/index.html.erb
322
- - test/rails_app/app/views/users/mailer/confirmation_instructions.erb
323
- - test/rails_app/app/views/users/sessions/new.html.erb
324
- - test/rails_app/bin/bundle
325
- - test/rails_app/bin/rails
326
- - test/rails_app/bin/rake
327
- - test/rails_app/config.ru
328
- - test/rails_app/config/application.rb
329
- - test/rails_app/config/boot.rb
330
- - test/rails_app/config/database.yml
331
- - test/rails_app/config/environment.rb
332
- - test/rails_app/config/environments/development.rb
333
- - test/rails_app/config/environments/production.rb
334
- - test/rails_app/config/environments/test.rb
335
- - test/rails_app/config/initializers/backtrace_silencers.rb
336
- - test/rails_app/config/initializers/devise.rb
337
- - test/rails_app/config/initializers/inflections.rb
338
- - test/rails_app/config/initializers/secret_token.rb
339
- - test/rails_app/config/initializers/session_store.rb
340
- - test/rails_app/config/routes.rb
341
- - test/rails_app/db/migrate/20100401102949_create_tables.rb
342
- - test/rails_app/db/schema.rb
343
- - test/rails_app/lib/shared_admin.rb
344
- - test/rails_app/lib/shared_user.rb
345
- - test/rails_app/lib/shared_user_without_email.rb
346
- - test/rails_app/lib/shared_user_without_omniauth.rb
347
- - test/rails_app/public/404.html
348
- - test/rails_app/public/422.html
349
- - test/rails_app/public/500.html
350
- - test/rails_app/public/favicon.ico
351
- - test/rails_test.rb
352
- - test/routes_test.rb
353
- - test/secret_key_finder_test.rb
354
- - test/support/action_controller/record_identifier.rb
355
- - test/support/assertions.rb
356
- - test/support/helpers.rb
357
- - test/support/http_method_compatibility.rb
358
- - test/support/integration.rb
359
- - test/support/locale/en.yml
360
- - test/support/mongoid.yml
361
- - test/support/webrat/integrations/rails.rb
362
- - test/test/controller_helpers_test.rb
363
- - test/test/integration_helpers_test.rb
364
- - test/test_helper.rb
365
- - test/test_models.rb
366
- homepage: https://github.com/plataformatec/devise
204
+ homepage: https://github.com/heartcombo/devise
367
205
  licenses:
368
206
  - MIT
369
- metadata: {}
370
- 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
+ \ "
371
218
  rdoc_options: []
372
219
  require_paths:
373
220
  - lib
@@ -382,148 +229,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
382
229
  - !ruby/object:Gem::Version
383
230
  version: '0'
384
231
  requirements: []
385
- rubyforge_project:
386
- rubygems_version: 2.7.3
387
- signing_key:
232
+ rubygems_version: 3.5.3
233
+ signing_key:
388
234
  specification_version: 4
389
235
  summary: Flexible authentication solution for Rails with Warden
390
- test_files:
391
- - test/controllers/custom_registrations_controller_test.rb
392
- - test/controllers/custom_strategy_test.rb
393
- - test/controllers/helper_methods_test.rb
394
- - test/controllers/helpers_test.rb
395
- - test/controllers/inherited_controller_i18n_messages_test.rb
396
- - test/controllers/internal_helpers_test.rb
397
- - test/controllers/load_hooks_controller_test.rb
398
- - test/controllers/passwords_controller_test.rb
399
- - test/controllers/sessions_controller_test.rb
400
- - test/controllers/url_helpers_test.rb
401
- - test/delegator_test.rb
402
- - test/devise_test.rb
403
- - test/failure_app_test.rb
404
- - test/generators/active_record_generator_test.rb
405
- - test/generators/controllers_generator_test.rb
406
- - test/generators/devise_generator_test.rb
407
- - test/generators/install_generator_test.rb
408
- - test/generators/mongoid_generator_test.rb
409
- - test/generators/views_generator_test.rb
410
- - test/helpers/devise_helper_test.rb
411
- - test/integration/authenticatable_test.rb
412
- - test/integration/confirmable_test.rb
413
- - test/integration/database_authenticatable_test.rb
414
- - test/integration/http_authenticatable_test.rb
415
- - test/integration/lockable_test.rb
416
- - test/integration/mounted_engine_test.rb
417
- - test/integration/omniauthable_test.rb
418
- - test/integration/recoverable_test.rb
419
- - test/integration/registerable_test.rb
420
- - test/integration/rememberable_test.rb
421
- - test/integration/timeoutable_test.rb
422
- - test/integration/trackable_test.rb
423
- - test/mailers/confirmation_instructions_test.rb
424
- - test/mailers/email_changed_test.rb
425
- - test/mailers/mailer_test.rb
426
- - test/mailers/reset_password_instructions_test.rb
427
- - test/mailers/unlock_instructions_test.rb
428
- - test/mapping_test.rb
429
- - test/models/authenticatable_test.rb
430
- - test/models/confirmable_test.rb
431
- - test/models/database_authenticatable_test.rb
432
- - test/models/lockable_test.rb
433
- - test/models/omniauthable_test.rb
434
- - test/models/recoverable_test.rb
435
- - test/models/registerable_test.rb
436
- - test/models/rememberable_test.rb
437
- - test/models/serializable_test.rb
438
- - test/models/timeoutable_test.rb
439
- - test/models/trackable_test.rb
440
- - test/models/validatable_test.rb
441
- - test/models_test.rb
442
- - test/omniauth/config_test.rb
443
- - test/omniauth/url_helpers_test.rb
444
- - test/orm/active_record.rb
445
- - test/orm/mongoid.rb
446
- - test/parameter_sanitizer_test.rb
447
- - test/rails_app/Rakefile
448
- - test/rails_app/app/active_record/admin.rb
449
- - test/rails_app/app/active_record/shim.rb
450
- - test/rails_app/app/active_record/user.rb
451
- - test/rails_app/app/active_record/user_on_engine.rb
452
- - test/rails_app/app/active_record/user_on_main_app.rb
453
- - test/rails_app/app/active_record/user_with_validations.rb
454
- - test/rails_app/app/active_record/user_without_email.rb
455
- - test/rails_app/app/controllers/admins/sessions_controller.rb
456
- - test/rails_app/app/controllers/admins_controller.rb
457
- - test/rails_app/app/controllers/application_controller.rb
458
- - test/rails_app/app/controllers/application_with_fake_engine.rb
459
- - test/rails_app/app/controllers/custom/registrations_controller.rb
460
- - test/rails_app/app/controllers/home_controller.rb
461
- - test/rails_app/app/controllers/publisher/registrations_controller.rb
462
- - test/rails_app/app/controllers/publisher/sessions_controller.rb
463
- - test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb
464
- - test/rails_app/app/controllers/users_controller.rb
465
- - test/rails_app/app/helpers/application_helper.rb
466
- - test/rails_app/app/mailers/users/from_proc_mailer.rb
467
- - test/rails_app/app/mailers/users/mailer.rb
468
- - test/rails_app/app/mailers/users/reply_to_mailer.rb
469
- - test/rails_app/app/mongoid/admin.rb
470
- - test/rails_app/app/mongoid/shim.rb
471
- - test/rails_app/app/mongoid/user.rb
472
- - test/rails_app/app/mongoid/user_on_engine.rb
473
- - test/rails_app/app/mongoid/user_on_main_app.rb
474
- - test/rails_app/app/mongoid/user_with_validations.rb
475
- - test/rails_app/app/mongoid/user_without_email.rb
476
- - test/rails_app/app/views/admins/index.html.erb
477
- - test/rails_app/app/views/admins/sessions/new.html.erb
478
- - test/rails_app/app/views/home/admin_dashboard.html.erb
479
- - test/rails_app/app/views/home/index.html.erb
480
- - test/rails_app/app/views/home/join.html.erb
481
- - test/rails_app/app/views/home/private.html.erb
482
- - test/rails_app/app/views/home/user_dashboard.html.erb
483
- - test/rails_app/app/views/layouts/application.html.erb
484
- - test/rails_app/app/views/users/edit_form.html.erb
485
- - test/rails_app/app/views/users/index.html.erb
486
- - test/rails_app/app/views/users/mailer/confirmation_instructions.erb
487
- - test/rails_app/app/views/users/sessions/new.html.erb
488
- - test/rails_app/bin/bundle
489
- - test/rails_app/bin/rails
490
- - test/rails_app/bin/rake
491
- - test/rails_app/config.ru
492
- - test/rails_app/config/application.rb
493
- - test/rails_app/config/boot.rb
494
- - test/rails_app/config/database.yml
495
- - test/rails_app/config/environment.rb
496
- - test/rails_app/config/environments/development.rb
497
- - test/rails_app/config/environments/production.rb
498
- - test/rails_app/config/environments/test.rb
499
- - test/rails_app/config/initializers/backtrace_silencers.rb
500
- - test/rails_app/config/initializers/devise.rb
501
- - test/rails_app/config/initializers/inflections.rb
502
- - test/rails_app/config/initializers/secret_token.rb
503
- - test/rails_app/config/initializers/session_store.rb
504
- - test/rails_app/config/routes.rb
505
- - test/rails_app/db/migrate/20100401102949_create_tables.rb
506
- - test/rails_app/db/schema.rb
507
- - test/rails_app/lib/shared_admin.rb
508
- - test/rails_app/lib/shared_user.rb
509
- - test/rails_app/lib/shared_user_without_email.rb
510
- - test/rails_app/lib/shared_user_without_omniauth.rb
511
- - test/rails_app/public/404.html
512
- - test/rails_app/public/422.html
513
- - test/rails_app/public/500.html
514
- - test/rails_app/public/favicon.ico
515
- - test/rails_test.rb
516
- - test/routes_test.rb
517
- - test/secret_key_finder_test.rb
518
- - test/support/action_controller/record_identifier.rb
519
- - test/support/assertions.rb
520
- - test/support/helpers.rb
521
- - test/support/http_method_compatibility.rb
522
- - test/support/integration.rb
523
- - test/support/locale/en.yml
524
- - test/support/mongoid.yml
525
- - test/support/webrat/integrations/rails.rb
526
- - test/test/controller_helpers_test.rb
527
- - test/test/integration_helpers_test.rb
528
- - test/test_helper.rb
529
- - test/test_models.rb
236
+ test_files: []
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- test/rails_app/log/*
2
- test/rails_app/tmp/*
3
- *~
4
- coverage/*
5
- *.sqlite3
6
- .bundle
7
- rdoc/*
8
- pkg
9
- log
10
- test/tmp/*