Server OAuth 2.0

Protezione OAuth 2.0 lato server per i server HTTP e WebSocket di sgcWebSockets. Verifica gli access token tramite validazione JWT o introspection secondo RFC 7662.

TsgcHTTP_OAuth2_Server

Componente leggero di resource-server — verifica i Bearer token in ingresso tramite controlli di firma JWT o introspection RFC 7662, ed espone i claim parsati alla tua applicazione.

Classe del componente

TsgcHTTP_OAuth2_Server

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Enterprise

Trascina, collega al server e accetta i token

Configura la chiave JWT (o l'URL di introspection) e collegalo a TsgcWebSocketHTTPServer.OAuth2 — le richieste in ingresso vengono verificate sul token prima dell'esecuzione del tuo handler.

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;

Cosa contiene

Componente resource-server che protegge gli endpoint HTTP e WebSocket con access token validati via JWT o tramite introspection.

Validazione JWT

Verificatore JWT integrato (HS / RS / ES / EdDSA) basato su una chiave statica o su un endpoint JWKS — nessun round-trip verso l'issuer per i token self-contained.

Introspection dei token

Imposta OAuth2Options.IntrospectionURL secondo RFC 7662 — il componente invia in POST il token in ingresso all'issuer e mette in cache il risultato attivo/inattivo con un TTL.

Enforcement degli scope

Imposta OAuth2Options.RequiredScope per limitare l'accesso ai token che riportano lo scope scelto. OnAuthError segnala il motivo del rifiuto.

Compatibile con WebSocket

Funziona sia con le richieste HTTP sia con gli upgrade WebSocket — l'header Authorization dell'upgrade (o il token in querystring) viene verificato prima di OnConnect.

Hook OnVerify

Implementa OnVerify per controlli sui claim personalizzati (aud multi-tenant, mapping dinamico degli scope, stato dell'account). Restituisci Accept = False per interrompere con 401.

Componente Provider gemello

TsgcHTTP_OAuth2_Server_Provider trasforma questo componente in un authorization server completo (issuer): endpoint authorize, token e revoke con storage persistente di client e refresh token.

Specifiche e riferimenti

Fonti autorevoli per gli standard implementati da questo componente.

Documentazione e demo

Vai al riferimento del componente, scarica il progetto demo pronto all'uso e prova la versione trial.

Guida online — TsgcHTTP_OAuth2_Server Riferimento completo di proprietà, metodi ed eventi per questo componente.
Progetto demo — Demos\20.HTTP_Protocol\02.OAuth2_Authentication Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto.
Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo per questo componente.
Manuale utente (PDF) Manuale completo che copre tutti i componenti della libreria.

Pronto a proteggere le API con OAuth 2.0?

Scarica la versione di prova gratuita e aggiungi la validazione dei token OAuth 2.0 ai tuoi server Delphi.