JWT-client
Maak, onderteken en verifieer JSON Web Tokens vanuit Delphi/C++Builder. HMAC-, RSA- en ECDSA-handtekeningen, versleutelde JWE in PASETO-stijl, automatisch vernieuwen en eenvoudige integratie met TsgcHTTP2Client / TsgcHTTPComponentClient.
Maak, onderteken en verifieer JSON Web Tokens vanuit Delphi/C++Builder. HMAC-, RSA- en ECDSA-handtekeningen, versleutelde JWE in PASETO-stijl, automatisch vernieuwen en eenvoudige integratie met TsgcHTTP2Client / TsgcHTTPComponentClient.
Onderteken HS256/HS384/HS512-, RS256/RS384/RS512-, ES256/ES384-, EdDSA-tokens; decodeer inkomende JWT's; vernieuw automatisch rond verloop; combineer met de HTTP- en HTTP/2-clients via Authentication.Token.JWT.
TsgcHTTP_JWT_Client
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Stel Header.alg in, Payload.iss / iat / exp, laad de signing key en koppel daarna de JWT-client als bearer-tokenbron aan je HTTP-/HTTP/2-/WebSocket-component.
uses
sgcHTTP, sgcBase_Helpers;
var
JWT: TsgcHTTP_JWT_Client;
begin
JWT := TsgcHTTP_JWT_Client.Create(nil);
JWT.JWTOptions.Header.alg := jwtES256;
JWT.JWTOptions.Header.kid := 'apple-key-id';
JWT.JWTOptions.Payload.iss := 'team-id';
JWT.JWTOptions.Payload.iat := StrToInt64(GetDateTimeUnix(Now, False));
JWT.JWTOptions.Algorithms.ES.PrivateKey.LoadFromFile('AuthKey_XXX.p8');
JWT.JWTOptions.RefreshTokenAfter := 40 * 60; // elke 40 min automatisch uitgeven
ShowMessage(JWT.Token);
end;
// uses: sgcHTTP
TsgcHTTP_JWT_Client *JWT = new TsgcHTTP_JWT_Client(this);
JWT->JWTOptions->Header->alg = jwtES256;
JWT->JWTOptions->Header->kid = "apple-key-id";
JWT->JWTOptions->Payload->iss = "team-id";
JWT->JWTOptions->Algorithms->ES->PrivateKey->LoadFromFile("AuthKey_XXX.p8");
ShowMessage(JWT->Token);
Een getypeerd JWT-maken-en-verifiëren-component met HMAC-, RSA-, ECDSA- en EdDSA-handtekeningen, automatische vernieuwing en een nette overdracht naar de HTTP-/HTTP/2-/WebSocket-componenten.
JWTOptions.Header.alg selecteert HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 of EdDSA. Sleutels worden geladen vanuit PEM, P8 of in-memory streams.
JWTOptions.Payload.iss, sub, aud, exp, nbf, iat en jti zijn getypeerde properties volgens RFC 7519 — plus een vrij invulbare CustomClaims voor vendor-uitbreidingen.
RefreshTokenAfter vertelt het component een nieuwe JWT uit te geven na N seconden — handig voor APNs-ES256-tokens die Apple binnen het uur geroteerd wil zien.
Decode(token) parsed een inkomende JWT en verifieert de handtekening tegen de geconfigureerde sleutels; OnVerify wordt geactiveerd met succes/falen en de geparste payload.
Versleutelde JWT's (JWE) volgens RFC 7516 worden ondersteund: AES-CBC-, AES-GCM-, RSA-OAEP- en ECDH-ES-key-wrapping.
Combineer met TsgcHTTP2Client of TsgcHTTPComponentClient door Authentication.Token.JWT in te stellen — elke uitgaande aanvraag krijgt een vers ondertekend bearer-token.
Deep-link naar de componentreferentie, pak het direct uitvoerbare demoproject en download de proefversie.
| Online help — TsgcHTTP_JWT_Client Volledige property-, methode- en event-referentie voor dit component. | Openen | |
| Demoproject — Demos\20.HTTP_Protocol\05.JWT Direct uitvoerbaar voorbeeldproject. Zit in het sgcWebSockets-package — download de proefversie hieronder. | Openen | |
| Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi & C++ Builder en primaire bronreferenties — alleen dit component. | Openen | |
| Gebruikershandleiding (PDF) Uitgebreide handleiding die elk component in de bibliotheek behandelt. | Openen |