OAuth 2.0 Provider (TsgcHTTP_OAuth2_Server_Provider) — sgcWebSockets | eSeGeCe

OAuth 2.0 Provider

Betreiben Sie Ihren eigenen OAuth 2.0 Autorisierungsserver in Delphi. Authorize-, Token-, Refresh- und Revoke-Endpunkte mit PKCE, signierten JWT-Access-Tokens und austauschbarer Speicherung.

TsgcHTTP_OAuth2_Server_Provider

Vollständige OAuth 2.0 Autorisierungsserver-Implementierung: registriert Clients, stellt Autorisierungscodes aus, tauscht sie gegen Access- und Refresh-Tokens, signiert JWTs und unterstützt PKCE, Refresh-Rotation und Widerruf.

Komponentenklasse

TsgcHTTP_OAuth2_Server_Provider

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Enterprise

Platzieren, Clients konfigurieren, starten

Platzieren Sie einen TsgcHTTP_OAuth2_Server_Provider, registrieren Sie Ihre client_ids und redirect_uris und binden Sie ihn an TsgcWebSocketHTTPServer an — die Standard-Endpunkte (/authorize, /token, /revoke) werden verfügbar.

uses
  sgcWebSocket, sgcHTTP;

var
  Server: TsgcWebSocketHTTPServer;
  Provider: TsgcHTTP_OAuth2_Server_Provider;
begin
  Provider := TsgcHTTP_OAuth2_Server_Provider.Create(nil);
  Provider.ProviderOptions.AuthorizationEndpoint := '/oauth/authorize';
  Provider.ProviderOptions.TokenEndpoint         := '/oauth/token';
  Provider.ProviderOptions.RevocationEndpoint    := '/oauth/revoke';
  Provider.ProviderOptions.PKCE.Required := True;

  Provider.OnAuthorizeRequest := procedure(Sender: TObject;
    const aRequest: TsgcOAuth2_AuthorizeRequest;
    var aResponse: TsgcOAuth2_AuthorizeResponse)
  begin
    // validate user session, issue or deny the auth code
    aResponse.Code := GenerateAuthCode(aRequest.ClientId, aRequest.UserId);
  end;

  Server := TsgcWebSocketHTTPServer.Create(nil);
  Server.Port := 8443;
  Server.SSL  := True;
  Server.OAuth2.Provider := Provider;
  Server.Active := True;
end;
// uses: sgcWebSocket, sgcHTTP
TsgcHTTP_OAuth2_Server_Provider *Provider = new TsgcHTTP_OAuth2_Server_Provider(this);
Provider->ProviderOptions->AuthorizationEndpoint = "/oauth/authorize";
Provider->ProviderOptions->TokenEndpoint        = "/oauth/token";

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

Was steckt drin

Ein selbst gehosteter Autorisierungsserver — alles von /authorize bis zur Refresh-Token-Rotation in einer einzigen Delphi-Komponente.

Authorize-Endpunkt

Verarbeitet GET-/authorize-Anfragen, validiert response_type, client_id und redirect_uri und löst anschließend OnAuthorizeRequest für Ihre Login-Oberfläche der Benutzersitzung aus.

Token-Endpunkt

POST /token stellt Access- und Refresh-Tokens für die Grants authorization_code, refresh_token und client_credentials aus. Der PKCE-code_verifier wird gemäß RFC 7636 verifiziert.

JWT-signierte Access-Tokens

Optional eigenständige JWT-Access-Tokens (HS oder RS / ES) ausstellen, sodass Resource-Server ohne Introspektions-Roundtrip validieren können.

Refresh-Token-Rotation

Wenn ProviderOptions.RefreshToken.Rotation aktiviert ist, stellt jeder Refresh ein neues Refresh-Token aus und entwertet das vorherige — im Einklang mit der OAuth 2.1 Best Practice.

Revoke-Endpunkt

POST /revoke entwertet ein Access- oder Refresh-Token gemäß RFC 7009 — berücksichtigt sowohl Bearer- als auch client_credentials-Widerrufe.

Austauschbare Speicherung

Mit OnLookupClient, OnPersistAuthCode, OnPersistRefreshToken und ähnlichen Ereignissen können Sie den Provider mit FireDAC, SQLite, Redis oder Ihrer eigenen DAL hinterlegen.

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_Provider Vollständige Eigenschaften-, Methoden- und Ereignisreferenz für diese Komponente.
Demo-Projekt — Demos\20.HTTP_Protocol\08.OAuth2_ServerProvider 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, Ihren eigenen OAuth 2.0 Provider zu betreiben?

Laden Sie die kostenlose Testversion herunter und richten Sie einen OAuth 2.0 Autorisierungsserver in Delphi ein.