OAuth 2.0-client
OAuth 2.0- / OAuth 2.1-clientcomponent — Authorization Code met PKCE, Client Credentials, Device Code, refresh-token-rotatie en ingebouwde browser-flow.
OAuth 2.0- / OAuth 2.1-clientcomponent — Authorization Code met PKCE, Client Credentials, Device Code, refresh-token-rotatie en ingebouwde browser-flow.
Implementeert de OAuth 2.0-/2.1-clientzijde — ondersteunt Authorization Code (met PKCE), Client Credentials, Device Code en refresh-token-flows. Inclusief een kleine ingebouwde HTTP-listener voor de redirect URI.
TsgcHTTP_OAuth2_Client
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
Configureer ClientId / ClientSecret / Scope / Endpoints (of gebruik een provider-preset voor Google / Microsoft / GitHub), roep StartAuthorization aan en gebruik daarna het Token in je HTTP-aanroepen.
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;
// Opent de browser van de gebruiker op de auth-URL
OAuth2.StartAuthorization;
// ... gebruiker logt in, browser wordt doorgestuurd naar de callback-URL
// ... het component vangt de code op en wisselt deze in voor 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();
Implementeert het OAuth 2.0-clientoppervlak met PKCE, refresh-token-rotatie en een ingebouwde loopback-redirect-listener.
Authorization Code (met optionele PKCE volgens RFC 7636), Client Credentials (RFC 6749 §4.4), Device Code (RFC 8628) en Refresh Token (RFC 6749 §6) worden allemaal als getypeerde methoden ondersteund.
Zet OAuth2Options.PKCE aan — het component genereert het code_verifier-/code_challenge-paar en neemt ze op volgens RFC 7636 (verplicht in OAuth 2.1).
Verwante componenten TsgcHTTP_OAuth2_Client_Google en TsgcHTTP_OAuth2_Client_Microsoft komen met de juiste endpoints en scopes vooringesteld. Gebruik de basisklasse voor alle andere.
Het component start een kleine ingebouwde HTTP-listener op de geconfigureerde RedirectURL, vangt de authorization code op en sluit de listener daarna af — geen externe webserver nodig.
Met SaveToFile / LoadFromFile bewaar je het refresh-token (versleuteld at-rest indien geconfigureerd), zodat de gebruiker niet bij elke app-start opnieuw moet inloggen.
Combineer met TsgcHTTPComponentClient, TsgcHTTP2Client of TsgcWebSocketClient via Authentication.Token.OAuth2 — het bearer-token wordt automatisch bij elke aanvraag geïnjecteerd.
Gezaghebbende bronnen voor de standaarden die dit component implementeert.
Deep-link naar de componentreferentie, pak het direct uitvoerbare demoproject en download de proefversie.
| Online help — TsgcHTTP_OAuth2_Client Volledige property-, methode- en event-referentie voor dit component. | Openen | |
| Demoproject — Demos\20.HTTP_Protocol\02.OAuth2_Authentication Direct uitvoerbaar voorbeeldproject. Zit in het sgcWebSockets-package — download de proefversie hieronder. | Openen | |
| Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi & C++ Builder en primaire bronreferenties — alleen dit component. | Openen | |
| Gebruikershandleiding (PDF) Uitgebreide handleiding die elk component in de bibliotheek behandelt. | Openen |