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.

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.