Servidor JWT para Delphi

Validación JWT en el lado servidor. Conecta TsgcHTTP_JWT_Server a un TsgcWebSocketHTTPServer para verificar los Bearer tokens de Authorization antes de despachar las peticiones.

TsgcHTTP_JWT_Server

Verifica los JWTs entrantes con tus claves de firma (HMAC, RSA, ECDSA, EdDSA), comprueba los claims exp/nbf/aud/iss y rechaza los tokens no válidos con un evento tipado para la capa de aplicación.

Clase del componente

TsgcHTTP_JWT_Server

Protocolo

RFC 7519 (JWT)

Plataformas

Windows, macOS, Linux, iOS, Android

Edición

Enterprise

Suéltalo, asígnalo al servidor y verifica cada petición

Suelta un TsgcHTTP_JWT_Server, configura las claves de verificación (o una URL JWKS) y asígnalo a TsgcWebSocketHTTPServer.JWT — todas las peticiones entrantes se validan automáticamente.

uses
  sgcWebSocket, sgcHTTP;

var
  Server: TsgcWebSocketHTTPServer;
  JWT: TsgcHTTP_JWT_Server;
begin
  JWT := TsgcHTTP_JWT_Server.Create(nil);
  JWT.JWTOptions.Algorithms.HS.Secret := 'shared-secret';
  JWT.JWTOptions.Verify.Issuer   := 'auth.example.com';
  JWT.JWTOptions.Verify.Audience := 'api.example.com';

  Server := TsgcWebSocketHTTPServer.Create(nil);
  Server.Port := 8443;
  Server.SSL  := True;
  Server.Authentication.JWT.Enabled := True;
  Server.Authentication.JWT.Server  := JWT;

  Server.Active := True;
end;
// uses: sgcWebSocket, sgcHTTP
TsgcHTTP_JWT_Server *JWT = new TsgcHTTP_JWT_Server(this);
JWT->JWTOptions->Algorithms->HS->Secret = "shared-secret";

TsgcWebSocketHTTPServer *Server = new TsgcWebSocketHTTPServer(this);
Server->Authentication->JWT->Enabled = true;
Server->Authentication->JWT->Server  = JWT;
Server->Active = true;

Qué incluye

Verificador JWT del lado servidor que se integra directamente con la autenticación de TsgcWebSocketHTTPServer y TsgcWebSocketServer.

Verificación multialgoritmo

Admite HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 y EdDSA. Se pueden cargar varias claves (indexadas por kid) para la rotación de claves.

Comprobación de claims estándar

Verify.Issuer, Verify.Audience, Verify.Subject, Verify.NotBefore, Verify.ExpirationTime se aplican por defecto sobre el payload entrante.

Endpoint JWKS

Point JWTOptions.JWKS.URL al endpoint JWKS de un emisor — el componente obtiene las claves públicas, las guarda en caché y rota según el kid de la JWK en la cabecera de cada token.

Evento de fallo

OnAuthError expone el motivo del rechazo (firma no coincide, caducado, audiencia no coincide); tu aplicación decide si responder 401 o aplicar una alternativa.

Hooks de WebSocket

Funciona también con TsgcWebSocketServer — el upgrade WebSocket lleva la cabecera Authorization y el servidor JWT la verifica antes de que se dispare OnConnect.

Soporte de JWE

Los tokens JWE cifrados se decodifican y verifican directamente con la clave privada configurada (RSA-OAEP, key wrap ECDH-ES; cifrado de contenido AES-CBC / AES-GCM).

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.

Online Help — TsgcHTTP_JWT_Server Referencia completa de propiedades, métodos y eventos de este componente.
Demo Project — 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 verificar JWT en el servidor?

Descarga la prueba gratuita y añade la validación JWT a tus servidores Delphi.