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.
OAuth-2.0-/-2.1-Client-Komponente - Authorization Code mit PKCE, Client Credentials, Device Code, Refresh-Token-Rotation und integriertem Browser-Flow.
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.
TsgcHTTP_OAuth2_Client
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
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();
Implementiert die OAuth-2.0-Client-Oberfläche mit PKCE, Refresh-Token-Rotation und einem eingebetteten Loopback-Redirect-Listener.
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.
Toggle OAuth2Options.PKCE — the component generates the code_verifier / code_challenge pair and includes them per RFC 7636 (mandatory in OAuth 2.1).
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.
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.
SaveToFile / LoadFromFile persist the refresh token (encrypted-at-rest if configured) so der Benutzer wird nicht aufgefordert on every app launch.
Pair with TsgcHTTPComponentClient, TsgcHTTP2Client or TsgcWebSocketClient via Authentication.Token.OAuth2 — der Bearer-Token is injected on every request automatically.
Maßgebliche Quellen für die Standards, die diese Komponente implementiert.
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. | Öffnen | |
| Demo Project — Demos\20.HTTP_Protocol\02.OAuth2_Authentifizierung Einsatzbereites Beispielprojekt. Im sgcWebSockets-Paket enthalten — lade unten die Testversion herunter. | Öffnen | |
| Technisches Dokument (PDF) Funktionen, Schnellstart, Codebeispiele für Delphi & C++ Builder und Primärquellenreferenzen — nur für diese Komponente. | Öffnen | |
| Benutzerhandbuch (PDF) Umfassendes Handbuch zu jeder Komponente der Bibliothek. | Öffnen |