From 2fc2a1bb6d746b72372288986d8fc1c639f2cefd Mon Sep 17 00:00:00 2001 From: Andrea Magni Date: Tue, 28 May 2019 16:29:08 +0200 Subject: [PATCH] BugFix with arbitrary Base64 padding (trailing '=' chars) --- ThirdParty/delphi-jose-jwt/Source/JOSE.Encoding.Base64.pas | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ThirdParty/delphi-jose-jwt/Source/JOSE.Encoding.Base64.pas b/ThirdParty/delphi-jose-jwt/Source/JOSE.Encoding.Base64.pas index 542f6d26..d536da73 100644 --- a/ThirdParty/delphi-jose-jwt/Source/JOSE.Encoding.Base64.pas +++ b/ThirdParty/delphi-jose-jwt/Source/JOSE.Encoding.Base64.pas @@ -88,8 +88,7 @@ class function TBase64.URLEncode(const ASource: TSuperBytes): TSuperBytes; LBase64Str := StringReplace(LBase64Str, #13#10, '', [rfReplaceAll]); LBase64Str := StringReplace(LBase64Str, #13, '', [rfReplaceAll]); LBase64Str := StringReplace(LBase64Str, #10, '', [rfReplaceAll]); - - LBase64Str := TrimRight(LBase64Str); + LBase64Str := LBase64Str.TrimRight(['=']); LBase64Str := StringReplace(LBase64Str, '+', '-', [rfReplaceAll]); LBase64Str := StringReplace(LBase64Str, '/', '_', [rfReplaceAll]);