JWT-server

Server-side JWT-validatie. Plug TsgcHTTP_JWT_Server in een TsgcWebSocketHTTPServer om Authorization Bearer-tokens te verifiëren voordat aanvragen worden gedispatcht.

TsgcHTTP_JWT_Server

Verifieert inkomende JWT's tegen je signing keys (HMAC, RSA, ECDSA, EdDSA), controleert exp/nbf/aud/iss-claims en weigert tokens die niet overeenkomen met een getypeerd event voor de applicatielaag.

Componentklasse

TsgcHTTP_JWT_Server

Protocol

RFC 7519 (JWT)

Platforms

Windows, macOS, Linux, iOS, Android

Editie

Enterprise

Plaats, koppel aan server, verifieer bij elke aanvraag

Plaats een TsgcHTTP_JWT_Server, configureer de verifiërende sleutels (of een JWKS-URL) en koppel aan TsgcWebSocketHTTPServer.JWT — alle inkomende aanvragen worden automatisch gevalideerd.

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;

Wat zit erin

Server-side JWT-verifier die rechtstreeks integreert met de authenticatie van TsgcWebSocketHTTPServer en TsgcWebSocketServer.

Verificatie met meerdere algoritmen

Ondersteunt HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 en EdDSA. Er kunnen meerdere sleutels (geïndexeerd op kid) worden geladen voor key rotation.

Standaardclaim-controles

Verify.Issuer, Verify.Audience, Verify.Subject, Verify.NotBefore en Verify.ExpirationTime worden standaard tegen de inkomende payload afgedwongen.

JWKS-endpoint

Wijs JWTOptions.JWKS.URL naar een JWKS-endpoint van de issuer — het component haalt de publieke sleutels op, cachet ze en roteert op basis van de JWK-kid in elke tokenheader.

Failure-event

OnAuthError levert de weigeringsreden (signature mismatch, verlopen, audience mismatch); je app bepaalt of er een 401 wordt teruggegeven of dat er een fallback komt.

WebSocket-hooks

Werkt ook voor TsgcWebSocketServer — de WebSocket-upgrade neemt de Authorization-header mee, de JWT-server verifieert voordat OnConnect wordt afgevuurd.

JWE-ondersteuning

Versleutelde JWE-tokens worden inline gedecodeerd en geverifieerd met de geconfigureerde privésleutel (RSA-OAEP, ECDH-ES key wrap; AES-CBC- / AES-GCM-contentversleuteling).

Specificaties & referenties

Gezaghebbende bronnen voor de standaarden die dit component implementeert.

Documentatie & demo's

Deep-link naar de componentreferentie, pak het direct uitvoerbare demoproject en download de proefversie.

Online help — TsgcHTTP_JWT_Server Volledige property-, methode- en event-referentie voor dit component.
Demoproject — Demos\20.HTTP_Protocol\05.JWT Direct uitvoerbaar voorbeeldproject. Zit in het sgcWebSockets-package — download de proefversie hieronder.
Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi & C++ Builder en primaire bronreferenties — alleen dit component.
Gebruikershandleiding (PDF) Uitgebreide handleiding die elk component in de bibliotheek behandelt.

Klaar om JWT's server-side te verifiëren?

Download de gratis proefversie en voeg JWT-validatie toe aan je Delphi-servers.