diff --git a/activesupport/lib/active_support/message_verifier.rb b/activesupport/lib/active_support/message_verifier.rb index a82af89a09..f062fcd9a8 100644 --- a/activesupport/lib/active_support/message_verifier.rb +++ b/activesupport/lib/active_support/message_verifier.rb @@ -210,7 +210,7 @@ module ActiveSupport private def encode(data) - @urlsafe ? Base64.urlsafe_encode64(data) : Base64.strict_encode64(data) + @urlsafe ? Base64.urlsafe_encode64(data, padding: false) : Base64.strict_encode64(data) end def decode(data) diff --git a/activesupport/test/message_verifier_test.rb b/activesupport/test/message_verifier_test.rb index 726f999746..0e1e071f8c 100644 --- a/activesupport/test/message_verifier_test.rb +++ b/activesupport/test/message_verifier_test.rb @@ -360,6 +360,11 @@ class MessageVerifierUrlsafeTest < MessageVerifierMetadataTest assert_equal message, URI.encode_www_form_component(message) end + def test_no_padding + message = generate("a") + assert_not_includes message, "=" + end + private def verifier_options { urlsafe: true }