Skip to content

Commit 2f5dcb7

Browse files
authored
Merge pull request rails#45424 from shouichi/remove-padding-from-urlsafe-message-verifier
Fix urlsafe MessageVerifier not to include padding
2 parents 1003e97 + 08afa16 commit 2f5dcb7

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

activesupport/lib/active_support/message_verifier.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ def generate(value, expires_at: nil, expires_in: nil, purpose: nil)
221221

222222
private
223223
def encode(data)
224-
@urlsafe ? Base64.urlsafe_encode64(data) : Base64.strict_encode64(data)
224+
@urlsafe ? Base64.urlsafe_encode64(data, padding: false) : Base64.strict_encode64(data)
225225
end
226226

227227
def decode(data)

activesupport/test/message_verifier_test.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,11 @@ def test_urlsafe
360360
assert_equal message, URI.encode_www_form_component(message)
361361
end
362362

363+
def test_no_padding
364+
message = generate("a")
365+
assert_not_includes message, "="
366+
end
367+
363368
private
364369
def verifier_options
365370
{ urlsafe: true }

0 commit comments

Comments
 (0)