JWT Server (TsgcHTTP_JWT_Server) — sgcWebSockets | eSeGeCe

JWT Server

Serverseitige JWT-Validierung. Binden Sie TsgcHTTP_JWT_Server in einen TsgcWebSocketHTTPServer ein, um Authorization-Bearer-Tokens zu verifizieren, bevor Anfragen weitergeleitet werden.

TsgcHTTP_JWT_Server

Verifiziert eingehende JWTs gegen Ihre Signaturschlüssel (HMAC, RSA, ECDSA, EdDSA), prüft die Claims exp/nbf/aud/iss und weist nicht übereinstimmende Tokens mit einem typisierten Ereignis für die Anwendungsschicht zurück.

Komponentenklasse

TsgcHTTP_JWT_Server

Protokoll

RFC 7519 (JWT)

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Enterprise

Platzieren, an den Server anbinden, bei jeder Anfrage verifizieren

Platzieren Sie einen TsgcHTTP_JWT_Server, konfigurieren Sie die Verifizierungsschlüssel (oder eine JWKS-URL) und binden Sie ihn an TsgcWebSocketHTTPServer.JWT an — alle eingehenden Anfragen werden automatisch validiert.

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;

Was steckt drin

Serverseitiger JWT-Verifizierer, der sich direkt in die Authentifizierung von TsgcWebSocketHTTPServer und TsgcWebSocketServer integriert.

Verifizierung mit mehreren Algorithmen

Unterstützt HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 und EdDSA. Mehrere Schlüssel (kid-indiziert) können für die Schlüsselrotation geladen werden.

Standard-Claim-Prüfungen

Verify.Issuer, Verify.Audience, Verify.Subject, Verify.NotBefore und Verify.ExpirationTime werden standardmäßig alle gegen die eingehende Payload durchgesetzt.

JWKS-Endpunkt

Richten Sie JWTOptions.JWKS.URL auf einen JWKS-Endpunkt des Ausstellers — die Komponente ruft die öffentlichen Schlüssel ab, speichert sie zwischen und rotiert sie anhand des JWK-kid im Header jedes Tokens.

Ereignis bei Fehlschlag

OnAuthError liefert den Ablehnungsgrund (Signaturfehler, abgelaufen, Audience-Konflikt); Ihre Anwendung entscheidet, ob mit 401 geantwortet oder auf eine Alternative zurückgegriffen wird.

WebSocket-Hooks

Funktioniert auch für TsgcWebSocketServer — das WebSocket-Upgrade führt den Authorization-Header mit, der JWT-Server verifiziert, bevor OnConnect ausgelöst wird.

JWE-Unterstützung

Verschlüsselte JWE-Tokens werden inline mit dem konfigurierten privaten Schlüssel decodiert und verifiziert (RSA-OAEP, ECDH-ES Key Wrap; AES-CBC / AES-GCM Inhaltsverschlüsselung).

Spezifikationen & Referenzen

Maßgebliche Quellen für die Standards, die diese Komponente implementiert.

Dokumentation & Demos

Springe direkt zur Komponentenreferenz, lade das einsatzbereite Demo-Projekt herunter und teste die Testversion.

Online-Hilfe — TsgcHTTP_JWT_Server Vollständige Eigenschaften-, Methoden- und Ereignisreferenz für diese Komponente.
Demo-Projekt — Demos\20.HTTP_Protocol\05.JWT Einsatzbereites Beispielprojekt. Im sgcWebSockets-Paket enthalten — lade unten die Testversion herunter.
Technisches Dokument (PDF) Funktionen, Schnellstart, Codebeispiele für Delphi & C++ Builder und Primärquellenreferenzen — nur für diese Komponente.
Benutzerhandbuch (PDF) Umfassendes Handbuch zu jeder Komponente der Bibliothek.

Bereit, JWTs serverseitig zu verifizieren?

Laden Sie die kostenlose Testversion herunter und fügen Sie Ihren Delphi-Servern die JWT-Validierung hinzu.