Serveur JWT

Validation JWT côté serveur. Branche TsgcHTTP_JWT_Server dans un TsgcWebSocketHTTPServer pour vérifier les tokens Authorization Bearer avant de dispatcher les requêtes.

TsgcHTTP_JWT_Server

Vérifie les JWTs entrants contre tes clés de signature (HMAC, RSA, ECDSA, EdDSA), contrôle les claims exp/nbf/aud/iss et rejette les tokens non conformes avec un événement typé pour la couche applicative.

Classe du composant

TsgcHTTP_JWT_Server

Protocole

RFC 7519 (JWT)

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Enterprise

Pose, attache au serveur, vérifie chaque requête

Pose un TsgcHTTP_JWT_Server, configure les clés de vérification (ou une URL JWKS) et attache à TsgcWebSocketHTTPServer.JWT — toutes les requêtes entrantes sont validées automatiquement.

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;

Ce qu’il y a à l’intérieur

Vérificateur JWT côté serveur qui s'intègre directement à l'authentification TsgcWebSocketHTTPServer et TsgcWebSocketServer.

Vérification multi-algorithme

Prend en charge HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 et EdDSA. Plusieurs clés (indexées par kid) peuvent être chargées pour la rotation.

Contrôles de claims standard

Verify.Issuer, Verify.Audience, Verify.Subject, Verify.NotBefore, Verify.ExpirationTime sont toutes appliquées au payload entrant par défaut.

Endpoint JWKS

Pointe JWTOptions.JWKS.URL vers un endpoint JWKS d'émetteur — le composant récupère les clés publiques, les met en cache et les fait tourner selon le kid JWK dans chaque en-tête de token.

Événement d'échec

OnAuthError expose la raison du rejet (signature invalide, expiré, audience invalide) ; ton appli décide entre 401 ou repli.

Hooks WebSocket

Fonctionne aussi pour TsgcWebSocketServer — l'upgrade WebSocket porte l'en-tête Authorization, le serveur JWT vérifie avant que OnConnect ne se déclenche.

JWE support

Les tokens JWE chiffrés sont décodés et vérifiés en ligne en utilisant la clé privée configurée (wrap de clé RSA-OAEP, ECDH-ES ; chiffrement de contenu AES-CBC / AES-GCM).

Spécifications et références

Sources de référence pour les standards implémentés par ce composant.

Documentation et démos

Lien direct vers la référence du composant, récupère le projet de démo prêt à exécuter et télécharge l’essai.

Aide en ligne — TsgcHTTP_JWT_Server Référence complète des propriétés, méthodes et événements de ce composant.
Projet de démo — Demos\20.HTTP_Protocol\05.JWT Projet d’exemple prêt à exécuter. Livré dans le paquet sgcWebSockets — télécharge l’essai ci-dessous.
Document technique (PDF) Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only.
Manuel utilisateur (PDF) Manuel exhaustif couvrant chaque composant de la bibliothèque.

Prêt à vérifier les JWTs côté serveur ?

Télécharge l'essai gratuit et ajoute la validation JWT à tes serveurs Delphi.