Client JWT

Génère, signe et vérifie des JSON Web Tokens depuis Delphi/C++Builder. Signatures HMAC, RSA et ECDSA, JWE chiffré à la PASETO, rafraîchissement automatique et intégration facile avec TsgcHTTP2Client / TsgcHTTPComponentClient.

TsgcHTTP_JWT_Client

Signe des tokens HS256/HS384/HS512, RS256/RS384/RS512, ES256/ES384, EdDSA ; décode les JWTs entrants ; rafraîchissement auto proche de l'expiration ; s'associe aux clients HTTP et HTTP/2 via Authentication.Token.JWT.

Classe du composant

TsgcHTTP_JWT_Client

Protocole

RFC 7519 (JWT)

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Professional / Enterprise

Configure header + payload, signe, attache

Règle Header.alg, Payload.iss / iat / exp, charge la clé de signature, puis attache le client JWT à ton composant HTTP / HTTP/2 / WebSocket comme source de token bearer.

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);

Ce qu’il y a à l’intérieur

Un composant typé de génération-et-vérification de JWT avec signatures HMAC, RSA, ECDSA et EdDSA, rafraîchissement automatique et passation propre aux composants HTTP / HTTP/2 / WebSocket.

Algorithmes

JWTOptions.Header.alg sélectionne HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 ou EdDSA. Les clés se chargent depuis PEM, P8 ou des streams en mémoire.

Claims standard

JWTOptions.Payload.iss, sub, aud, exp, nbf, iat, jti sont des propriétés typées conformes à la RFC 7519 — plus un CustomClaims libre pour les extensions éditeur.

Rafraîchissement auto

RefreshTokenAfter indique au composant de générer un nouveau JWT après N secondes — utile pour les tokens APNs ES256 qu'Apple attend de voir tournés dans l'heure.

Décodage et vérification

Decode(token) parse un JWT entrant et vérifie la signature contre les clés configurées ; OnVerify se déclenche avec succès/échec et le payload parsé.

Prise en charge JWE

Les JWTs chiffrés (JWE) selon la RFC 7516 sont pris en charge : AES-CBC, AES-GCM, RSA-OAEP et wrapping de clé ECDH-ES.

Drop-in pour HTTP/2

Associe avec TsgcHTTP2Client ou TsgcHTTPComponentClient en réglant Authentication.Token.JWT — chaque requête sortante reçoit un nouveau token bearer signé.

Spécifications et références

Sources de référence pour les standards implémentés par ce composant.

Documentation et démos

Lien direct vers la référence du composant, récupère le projet de démo prêt à exécuter et télécharge l’essai.

Aide en ligne — TsgcHTTP_JWT_Client Référence complète des propriétés, méthodes et événements de ce composant.
Projet de démo — Demos\20.HTTP_Protocol\05.JWT Projet d’exemple prêt à exécuter. Livré dans le paquet sgcWebSockets — télécharge l’essai ci-dessous.
Document technique (PDF) Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only.
Manuel utilisateur (PDF) Manuel exhaustif couvrant chaque composant de la bibliothèque.

Prêt à générer des JWTs signés ?

Télécharge l'essai gratuit et ajoute la signature JWT à tes applications Delphi.