Hallo,
Mit TIdDecoderMIME.DecodeString ergibt dieser Base64 String
'eyJhbGciOiJSUzI1NiIsImtpZCI6ImNmMDIyYTQ5ZTk3ODYxNDhhZDBlMzc5Y2M4NTQ4NDRlMzZjM2VkYzEiLCJ0eXAiOiJKV1QifQ'
dekodiert:
'{"alg":"RS256","kid":"cf022a49e9786148ad0e379cc854844e36c3edc1","typ":"JWT"'
Richtig wäre aber dieser, mit einem abschliessenden "}"
'{"alg":"RS256","kid":"cf022a49e9786148ad0e379cc854844e36c3edc1","typ":"JWT"}'
Beispielcode zum Testen:
Delphi-Quellcode:
uses
... IdCoderMIME, IdGlobal, ...
Assert('{"alg":"RS256","kid":"cf022a49e9786148ad0e379cc854844e36c3edc1","typ":"JWT"}' =
TIdDecoderMIME.DecodeString('eyJhbGciOiJSUzI1NiIsImtpZCI6ImNmMDIyYTQ5ZTk3ODYxNDhhZDBlMzc5Y2M4NTQ4NDRlMzZjM2VkYzEiLCJ0eXAiOiJKV1QifQ', IndyTextEncoding_UTF8));
Wo liegt der Fehler?
p.s. ok sehe dass der Input-String eine ungültige Länge hat ...