OAuth 2.0 Client

OAuth-2.0-/-2.1-Client-Komponente - Authorization Code mit PKCE, Client Credentials, Device Code, Refresh-Token-Rotation und integriertem Browser-Flow.

TsgcHTTP_OAuth2_Client

Implementiert die OAuth-2.0-/-2.1-Client-Seite - deckt Authorization Code (mit PKCE), Client Credentials, Device Code und Refresh-Token-Flows ab. Enthält einen kleinen eingebetteten HTTP-Listener für die Redirect-URI.

Komponentenklasse

TsgcHTTP_OAuth2_Client

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Standard / Professional / Enterprise

Anbieter konfigurieren, Flow starten

Konfiguriere ClientId / ClientSecret / Scope / Endpoints (oder verwende eine Anbieter-Voreinstellung für Google, Microsoft oder GitHub), rufe StartAuthorization auf und nutze Token dann in deinen HTTP-Aufrufen.

uses
  sgcHTTP;

var
  OAuth2: TsgcHTTP_OAuth2_Client;
begin
  OAuth2 := TsgcHTTP_OAuth2_Client.Create(nil);
  OAuth2.OAuth2Options.ClientId     := 'your-client-id';
  OAuth2.OAuth2Options.ClientSecret := 'your-client-secret';
  OAuth2.OAuth2Options.Scope        := 'profile email';
  OAuth2.OAuth2Options.RedirectURL  := 'http://localhost:5555/callback';
  OAuth2.OAuth2Options.AuthorizationURL := 'https://auth.example.com/authorize';
  OAuth2.OAuth2Options.TokenURL         := 'https://auth.example.com/token';
  OAuth2.OAuth2Options.PKCE := True;

  // Spawns the user browser at the auth URL
  OAuth2.StartAuthorization;
  // ... user logs in, browser is redirected to the callback URL
  // ... the component captures the code, exchanges for tokens

  ShowMessage(OAuth2.AccessToken);
end;
// uses: sgcHTTP
TsgcHTTP_OAuth2_Client *OAuth2 = new TsgcHTTP_OAuth2_Client(this);
OAuth2->OAuth2Options->ClientId     = "your-client-id";
OAuth2->OAuth2Options->ClientSecret = "your-client-secret";
OAuth2->OAuth2Options->Scope        = "profile email";
OAuth2->OAuth2Options->RedirectURL  = "http://localhost:5555/callback";
OAuth2->OAuth2Options->PKCE = true;
OAuth2->StartAuthorization();

Was steckt drin

Implementiert die OAuth-2.0-Client-Oberfläche mit PKCE, Refresh-Token-Rotation und einem eingebetteten Loopback-Redirect-Listener.

Flows

Authorization Code (optional mit PKCE gemäß RFC 7636), Client Credentials (RFC 6749 §4.4), Device Code (RFC 8628) und Refresh Token (RFC 6749 §6) werden alle als typisierte Methoden unterstützt.

PKCE standardmäßig

Toggle OAuth2Options.PKCE — the component generates the code_verifier / code_challenge pair and includes them per RFC 7636 (mandatory in OAuth 2.1).

Anbieter-Voreinstellungen

Sibling Komponenten TsgcHTTP_OAuth2_Client_Google and TsgcHTTP_OAuth2_Client_Microsoft ship mit dem richtige endpoints and scopes pre-filled. Use the base class for everyone else.

Loopback-Redirect-Listener

Die Komponente startet einen kleinen eingebetteten HTTP-Listener auf der konfigurierten RedirectURL, fängt den Autorisierungscode ab und fährt den Listener anschließend wieder herunter - ohne externen Webserver.

Token-Persistenz

SaveToFile / LoadFromFile persist the refresh token (encrypted-at-rest if configured) so der Benutzer wird nicht aufgefordert on every app launch.

Drop-in für HTTP / WebSocket

Pair with TsgcHTTPComponentClient, TsgcHTTP2Client or TsgcWebSocketClient via Authentication.Token.OAuth2 — der Bearer-Token is injected on every request automatically.

Spezifikationen und 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_Client Vollständige Eigenschaften-, Methoden- und Ereignisreferenz für diese Komponente.
Demo Project — Demos\20.HTTP_Protocol\02.OAuth2_Authentifizierung 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, OAuth 2.0 zu Delphi hinzuzufügen?

Lade die kostenlose Testversion herunter und integriere OAuth-2.0-/-2.1-Authentifizierung in deine Delphi-Anwendungen.