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.

TsgcHTTP_OAuth2_Client

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.

Componentklasse

TsgcHTTP_OAuth2_Client

Platforms

Windows, macOS, Linux, iOS, Android

Editie

Standard / Professional / Enterprise

Configureer de provider, start de flow

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();

Wat zit erin

Implementeert het OAuth 2.0-clientoppervlak met PKCE, refresh-token-rotatie en een ingebouwde loopback-redirect-listener.

Flows

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.

PKCE standaard

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).

Provider-presets

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.

Loopback-redirect-listener

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.

Token-persistentie

Met SaveToFile / LoadFromFile bewaar je het refresh-token (versleuteld at-rest indien geconfigureerd), zodat de gebruiker niet bij elke app-start opnieuw moet inloggen.

Direct bruikbaar voor HTTP / WebSocket

Combineer met TsgcHTTPComponentClient, TsgcHTTP2Client of TsgcWebSocketClient via Authentication.Token.OAuth2 — het bearer-token wordt automatisch bij elke aanvraag geïnjecteerd.

Specificaties & referenties

Gezaghebbende bronnen voor de standaarden die dit component implementeert.

Documentatie & demo's

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.
Demoproject — Demos\20.HTTP_Protocol\02.OAuth2_Authentication Direct uitvoerbaar voorbeeldproject. Zit in het sgcWebSockets-package — download de proefversie hieronder.
Technisch document (PDF) Functies, snelstart, codevoorbeelden voor Delphi & C++ Builder en primaire bronreferenties — alleen dit component.
Gebruikershandleiding (PDF) Uitgebreide handleiding die elk component in de bibliotheek behandelt.

Klaar om OAuth 2.0 aan Delphi toe te voegen?

Download de gratis proefversie en integreer OAuth 2.0-/2.1-authenticatie in je Delphi-toepassingen.