提交 f6ced69a 编写于 作者: A Aaron Patterson

Eliminate newlines in basic auth. fixes #2882

上级 54b7e783
...@@ -145,7 +145,7 @@ def decode_credentials(request) ...@@ -145,7 +145,7 @@ def decode_credentials(request)
end end
def encode_credentials(user_name, password) def encode_credentials(user_name, password)
"Basic #{ActiveSupport::Base64.encode64("#{user_name}:#{password}")}" "Basic #{ActiveSupport::Base64.encode64s("#{user_name}:#{password}")}"
end end
def authentication_request(controller, realm) def authentication_request(controller, realm)
......
...@@ -85,6 +85,14 @@ def authenticate_long_credentials ...@@ -85,6 +85,14 @@ def authenticate_long_credentials
end end
end end
def test_encode_credentials_has_no_newline
username = 'laskjdfhalksdjfhalkjdsfhalksdjfhklsdjhalksdjfhalksdjfhlakdsjfh'
password = 'kjfhueyt9485osdfasdkljfh4lkjhakldjfhalkdsjf'
result = ActionController::HttpAuthentication::Basic.encode_credentials(
username, password)
assert_no_match(/\n/, result)
end
test "authentication request without credential" do test "authentication request without credential" do
get :display get :display
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册