From de344566cba2f01bb8d9495048825897857d5757 Mon Sep 17 00:00:00 2001 From: Jared Armstrong Date: Tue, 3 Aug 2021 17:48:36 +1200 Subject: [PATCH] Use urlsafe base64 encoding to avoid newlines for long values. Newlines are invalid in header values and will cause an error. --- lib/myob/api/client.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/myob/api/client.rb b/lib/myob/api/client.rb index bfa1c35..4ac7ad5 100644 --- a/lib/myob/api/client.rb +++ b/lib/myob/api/client.rb @@ -83,7 +83,7 @@ def select_company_file(company_file) token = company_file[:token] if (token.nil? || token == '') && !company_file[:username].nil? && company_file[:username] != '' && !company_file[:password].nil? # if we have been given login details, encode them into a token - token = Base64.encode64("#{company_file[:username]}:#{company_file[:password]}") + token = Base64.urlsafe_encode64("#{company_file[:username]}:#{company_file[:password]}") end @current_company_file = { :id => selected_company_file['Id'],