Serveur OAuth 2.0

Protecteur OAuth 2.0 côté serveur pour les serveurs HTTP et WebSocket sgcWebSockets. Vérifie les tokens d'accès via validation JWT ou introspection RFC 7662.

TsgcHTTP_OAuth2_Server

Composant resource-server léger — vérifie les tokens Bearer entrants via contrôles de signature JWT ou introspection de token RFC 7662, puis expose les claims parsés à ton application.

Classe du composant

TsgcHTTP_OAuth2_Server

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Enterprise

Pose, attache à ton serveur, accepte les tokens

Configure la clé JWT (ou l'URL d'introspection), puis attache à TsgcWebSocketHTTPServer.OAuth2 — les requêtes entrantes sont vérifiées avant que ton handler ne se déclenche.

uses
  sgcWebSocket, sgcHTTP;

var
  Server: TsgcWebSocketHTTPServer;
  OAuth2: TsgcHTTP_OAuth2_Server;
begin
  OAuth2 := TsgcHTTP_OAuth2_Server.Create(nil);
  OAuth2.OAuth2Options.JWT.Algorithms.HS.Secret := 'shared-secret';

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

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

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

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

Composant resource-server qui protège les endpoints HTTP et WebSocket avec des tokens d'accès validés par JWT ou par introspection.

Validation JWT

Vérificateur JWT intégré (HS / RS / ES / EdDSA) contre une clé statique ou un endpoint JWKS — pas d'aller-retour vers l'émetteur pour les tokens auto-contenus.

Introspection de tokens

Règle OAuth2Options.IntrospectionURL selon la RFC 7662 — le composant POSTe le token entrant à l'émetteur et met en cache le résultat actif/inactif avec un TTL.

Application des scopes

Attache OAuth2Options.RequiredScope pour limiter l'accès aux tokens portant le scope choisi. OnAuthError rapporte la raison du rejet.

Compatible WebSocket

Fonctionne avec les requêtes HTTP et les upgrades WebSocket — l'en-tête Authorization (ou le token en query) est vérifié avant OnConnect.

Hook OnVerify

Implémente OnVerify pour des contrôles de claims personnalisés (aud multi-tenant, mapping dynamique de scopes, statut de compte). Retourne Accept = False pour court-circuiter avec 401.

Composant frère Provider

TsgcHTTP_OAuth2_Server_Provider transforme ce composant en serveur d'autorisation complet (émetteur) : endpoints authorize, token et revoke avec stockage persistant des clients/refresh tokens.

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_OAuth2_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\02.OAuth2_Authentication 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 à protéger des APIs avec OAuth 2.0 ?

Télécharge l'essai gratuit et ajoute la validation de tokens OAuth 2.0 à tes serveurs Delphi.