Cliente JWT para Delphi

Genera, firma y verifica JSON Web Tokens desde Delphi/C++Builder. Firmas HMAC, RSA y ECDSA, JWE cifrados al estilo PASETO, refresco automático y fácil integración con TsgcHTTP2Client / TsgcHTTPComponentClient.

TsgcHTTP_JWT_Client

Firma tokens HS256/HS384/HS512, RS256/RS384/RS512, ES256/ES384 y EdDSA; decodifica JWTs entrantes; renovación automática cerca de la expiración; combínalo con los clientes HTTP y HTTP/2 mediante Authentication.Token.JWT.

Clase del componente

TsgcHTTP_JWT_Client

Protocolo

RFC 7519 (JWT)

Plataformas

Windows, macOS, Linux, iOS, Android

Edición

Standard / Professional / Enterprise

Configura header + payload, firma y enlaza

Establece Header.alg, Payload.iss / iat / exp, carga la clave de firma y asigna el cliente JWT a tu componente HTTP / HTTP/2 / WebSocket como origen del bearer token.

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

Qué incluye

Un componente tipado para generar y verificar JWTs con firmas HMAC, RSA, ECDSA y EdDSA, renovación automática y una integración limpia con los componentes HTTP / HTTP/2 / WebSocket.

Algoritmos

JWTOptions.Header.alg selecciona HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 o EdDSA. Las claves se cargan desde PEM, P8 o streams en memoria.

Claims estándar

JWTOptions.Payload.iss, sub, aud, exp, nbf, iat, jti son propiedades tipadas conforme a RFC 7519 — además de un CustomClaims de formato libre para extensiones propias.

Refresco automático

RefreshTokenAfter indica al componente que genere un nuevo JWT tras N segundos — útil para los tokens ES256 de APNs, que Apple espera rotados en menos de una hora.

Decodificar y verificar

Decode(token) analiza un JWT entrante y verifica la firma con las claves configuradas; OnVerify se dispara con el resultado (correcto/fallido) y el payload analizado.

Soporte JWE

Se admiten JWT cifrados (JWE) según la RFC 7516: AES-CBC, AES-GCM, RSA-OAEP y envoltura de claves ECDH-ES.

Listo para HTTP/2

Combínalo con TsgcHTTP2Client o TsgcHTTPComponentClient asignando Authentication.Token.JWT — cada petición saliente recibe un bearer token firmado y actualizado.

Especificaciones y referencias

Fuentes autorizadas de los estándares que implementa este componente.

Documentación y Demos

Enlace directo a la referencia del componente, descarga el proyecto demo listo para ejecutar y la prueba gratuita.

Ayuda en línea — TsgcHTTP_JWT_Client Referencia completa de propiedades, métodos y eventos de este componente.
Proyecto demo — Demos\20.HTTP_Protocol\05.JWT Proyecto de ejemplo listo para ejecutar. Se incluye en el paquete sgcWebSockets — descarga la prueba gratuita más abajo.
Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi y C++ Builder y referencias de fuentes primarias — solo este componente.
Manual de usuario (PDF) Manual completo que cubre todos los componentes de la biblioteca.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para generar JWTs firmados?

Descarga la prueba gratuita y añade firma JWT a tus aplicaciones Delphi.