OAuth 2.0 Server (TsgcHTTP_OAuth2_Server) — sgcWebSockets | eSeGeCe

OAuth 2.0 Server

Serverseitiger OAuth 2.0 Schutz für sgcWebSockets HTTP- und WebSocket-Server. Verifizieren Sie Access-Tokens per JWT-Validierung oder RFC 7662 Introspektion.

TsgcHTTP_OAuth2_Server

Leichtgewichtige Resource-Server-Komponente — verifiziert eingehende Bearer-Tokens per JWT-Signaturprüfung oder RFC 7662 Token-Introspektion und stellt anschließend die geparsten Claims Ihrer Anwendung zur Verfügung.

Komponentenklasse

TsgcHTTP_OAuth2_Server

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Enterprise

Platzieren, an Ihren Server anbinden, Tokens akzeptieren

Konfigurieren Sie den JWT-Schlüssel (oder die Introspektions-URL) und binden Sie ihn anschließend an TsgcWebSocketHTTPServer.OAuth2 an — eingehende Anfragen werden per Token verifiziert, bevor Ihr Handler ausgelöst wird.

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;

Was steckt drin

Resource-Server-Komponente, die HTTP- und WebSocket-Endpunkte mit JWT-validierten oder per Introspektion validierten Access-Tokens schützt.

JWT-Validierung

Integrierter JWT-Verifizierer (HS / RS / ES / EdDSA) gegen einen statischen Schlüssel oder einen JWKS-Endpunkt — kein Roundtrip zum Aussteller bei eigenständigen Tokens.

Token-Introspektion

Setzen Sie OAuth2Options.IntrospectionURL gemäß RFC 7662 — die Komponente sendet das eingehende Token per POST an den Aussteller und speichert das Aktiv-/Inaktiv-Ergebnis mit einer TTL zwischen.

Scope-Durchsetzung

Hängen Sie OAuth2Options.RequiredScope an, um den Zugriff auf Tokens mit dem gewählten Scope zu beschränken. OnAuthError meldet den Ablehnungsgrund.

WebSocket-fähig

Funktioniert sowohl mit HTTP-Anfragen als auch mit WebSocket-Upgrades — der Authorization-Header des Upgrades (oder das Query-Token) wird vor OnConnect verifiziert.

OnVerify-Hook

Implementieren Sie OnVerify für benutzerdefinierte Claim-Prüfungen (mandantenfähige aud, dynamisches Scope-Mapping, Kontostatus). Geben Sie Accept = False zurück, um direkt mit 401 abzubrechen.

Provider-Pendant

TsgcHTTP_OAuth2_Server_Provider macht aus dieser Komponente einen vollständigen Autorisierungsserver (Aussteller): Authorize-, Token- und Revoke-Endpunkte mit persistenter Speicherung von Clients und Refresh-Tokens.

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_OAuth2_Server Vollständige Eigenschaften-, Methoden- und Ereignisreferenz für diese Komponente.
Demo-Projekt — Demos\20.HTTP_Protocol\02.OAuth2_Authentication 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.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit, APIs mit OAuth 2.0 zu schützen?

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