JWT Client
Erzeuge, signiere und verifiziere JSON Web Tokens aus Delphi/C++Builder. HMAC-, RSA- und ECDSA-Signaturen, verschlüsselte JWE im PASETO-Stil, automatische Erneuerung und einfache Integration mit TsgcHTTP2Client / TsgcHTTPComponentClient.
Erzeuge, signiere und verifiziere JSON Web Tokens aus Delphi/C++Builder. HMAC-, RSA- und ECDSA-Signaturen, verschlüsselte JWE im PASETO-Stil, automatische Erneuerung und einfache Integration mit TsgcHTTP2Client / TsgcHTTPComponentClient.
Signiere HS256/HS384/HS512-, RS256/RS384/RS512-, ES256/ES384-, EdDSA-Tokens; dekodiere eingehende JWTs; erneuere sie automatisch kurz vor Ablauf; verbinde sie über Authentifizierung.Token.JWT mit den HTTP- und HTTP/2-Clients.
TsgcHTTP_JWT_Client
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Setze Header.alg sowie Payload.iss / iat / exp, lade den Signaturschlüssel und hänge den JWT-Client als Bearer-Token-Quelle an deine HTTP-/HTTP/2-/WebSocket-Komponente.
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; // auto-mint every 40 min
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);
Eine typisierte JWT-Erzeugungs- und Verifizierungskomponente mit HMAC-, RSA-, ECDSA- und EdDSA-Signaturen, automatischer Erneuerung und sauberer Übergabe an die HTTP-/HTTP/2-/WebSocket-Komponenten.
JWTOptions.Header.alg wählt HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 oder EdDSA aus. Schlüssel werden aus PEM, P8 oder In-Memory-Streams geladen.
JWTOptions.Payload.iss, sub, aud, exp, nbf, iat, jti sind typisierte Eigenschaften gemäß RFC 7519 — ergänzt durch ein freiformbares CustomClaims-Feld für herstellerspezifische Erweiterungen.
RefreshTokenAfter weist die Komponente an, nach N Sekunden ein neues JWT zu erzeugen — nützlich für APNs-ES256-Tokens, die Apple innerhalb einer Stunde rotiert erwartet.
Decode(token) parst ein eingehendes JWT und verifiziert die Signatur gegen die konfigurierten Schlüssel; OnVerify wird mit Erfolgs-/Fehlerstatus und die geparsten Payload ausgelöst.
Verschlüsselte JWTs (JWE) gemäß RFC 7516 werden unterstützt: AES-CBC, AES-GCM, RSA-OAEP und ECDH-ES als Schlüssel-Wrap-Verfahren.
Pair with TsgcHTTP2Client or TsgcHTTPComponentClient durch Setzen von Authentication.Token.JWT — jede ausgehende Anfrage erhält einen frisch signierten Bearer-Token.
Springe direkt zur Komponentenreferenz, lade das einsatzbereite Demo-Projekt herunter und teste die Testversion.
| Online-Hilfe — TsgcHTTP_JWT_Client Vollständige Eigenschaften-, Methoden- und Ereignisreferenz für diese Komponente. | Öffnen | |
| Demo Project — Demos\20.HTTP_Protocol\05.JWT Einsatzbereites Beispielprojekt. Im sgcWebSockets-Paket enthalten — lade unten die Testversion herunter. | Öffnen | |
| Technisches Dokument (PDF) Funktionen, Schnellstart, Codebeispiele für Delphi & C++ Builder und Primärquellenreferenzen — nur für diese Komponente. | Öffnen | |
| Benutzerhandbuch (PDF) Umfassendes Handbuch zu jeder Komponente der Bibliothek. | Öffnen |