File tree 5 files changed +44
-2
lines changed
guides/bug_report_templates
5 files changed +44
-2
lines changed Original file line number Diff line number Diff line change
1
+ * Deprecate ` secrets.secret_token ` .
2
+
3
+ The architecture for secrets had a big upgrade between Rails 3 and Rails 4,
4
+ when the default changed from using ` secret_token ` to ` secret_key_base ` .
5
+
6
+ ` secret_token ` has been soft deprecated in documentation for four years
7
+ but is still in place to support apps created before Rails 4.
8
+ Deprecation warnings have been added to help developers upgrade their
9
+ applications to ` secret_key_base ` .
10
+
11
+ * claudiob* , * Kasper Timm Hansen*
12
+
1
13
* Return an instance of ` HashWithIndifferentAccess ` from ` HashWithIndifferentAccess#transform_keys ` .
2
14
3
15
* Yuji Yaginuma*
Original file line number Diff line number Diff line change 22
22
class TestApp < Rails ::Application
23
23
config . root = __dir__
24
24
config . session_store :cookie_store , key : "cookie_store_key"
25
- secrets . secret_token = "secret_token"
26
25
secrets . secret_key_base = "secret_key_base"
27
26
28
27
config . logger = Logger . new ( $stdout)
Original file line number Diff line number Diff line change 20
20
21
21
class TestApp < Rails ::Application
22
22
config . root = __dir__
23
- secrets . secret_token = "secret_token"
24
23
secrets . secret_key_base = "secret_key_base"
25
24
26
25
config . logger = Logger . new ( $stdout)
Original file line number Diff line number Diff line change 6
6
require "active_support/key_generator"
7
7
require "active_support/message_verifier"
8
8
require "active_support/encrypted_configuration"
9
+ require "active_support/deprecation"
9
10
require_relative "engine"
10
11
require_relative "secrets"
11
12
@@ -398,6 +399,11 @@ def secrets
398
399
# Fallback to config.secret_token if secrets.secret_token isn't set
399
400
secrets . secret_token ||= config . secret_token
400
401
402
+ if secrets . secret_token . present?
403
+ ActiveSupport ::Deprecation . warn \
404
+ "`secrets.secret_token` is deprecated in favor of `secret_key_base` and will be removed in Rails 6.0."
405
+ end
406
+
401
407
secrets
402
408
end
403
409
end
Original file line number Diff line number Diff line change @@ -487,6 +487,32 @@ def index
487
487
assert_equal "some_value" , Rails . application . message_verifier ( :sensitive_value ) . verify ( message )
488
488
end
489
489
490
+ test "config.secret_token is deprecated" do
491
+ app_file "config/initializers/secret_token.rb" , <<-RUBY
492
+ Rails.application.config.secret_token = "b3c631c314c0bbca50c1b2843150fe33"
493
+ RUBY
494
+
495
+ app "production"
496
+
497
+ assert_deprecated ( /secret_token/ ) do
498
+ app . secrets
499
+ end
500
+ end
501
+
502
+ test "secrets.secret_token is deprecated" do
503
+ app_file "config/secrets.yml" , <<-YAML
504
+ production:
505
+ secret_token: "b3c631c314c0bbca50c1b2843150fe33"
506
+ YAML
507
+
508
+ app "production"
509
+
510
+ assert_deprecated ( /secret_token/ ) do
511
+ app . secrets
512
+ end
513
+ end
514
+
515
+
490
516
test "raises when secret_key_base is blank" do
491
517
app_file "config/initializers/secret_token.rb" , <<-RUBY
492
518
Rails.application.credentials.secret_key_base = nil
You can’t perform that action at this time.
0 commit comments