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.
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.
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.
TsgcHTTP_JWT_Server
Windows, macOS, Linux, iOS, Android
Enterprise
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;
Verificador JWT del lado servidor que se integra directamente con la autenticación de TsgcWebSocketHTTPServer y TsgcWebSocketServer.
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.
Verify.Issuer, Verify.Audience, Verify.Subject, Verify.NotBefore, Verify.ExpirationTime se aplican por defecto sobre el payload entrante.
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.
OnAuthError expone el motivo del rechazo (firma no coincide, caducado, audiencia no coincide); tu aplicación decide si responder 401 o aplicar una alternativa.
Funciona también con TsgcWebSocketServer — el upgrade WebSocket lleva la cabecera Authorization y el servidor JWT la verifica antes de que se dispare OnConnect.
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).
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. | Abrir | |
| 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. | Abrir | |
| 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. | Abrir | |
| Manual de usuario (PDF) Manual completo que cubre todos los componentes de la biblioteca. | Abrir |