Client OAuth 2.0

Composant client OAuth 2.0 / OAuth 2.1 — Authorization Code avec PKCE, Client Credentials, Device Code, rotation des refresh tokens et flow navigateur intégré.

TsgcHTTP_OAuth2_Client

Implémente le côté client OAuth 2.0 / 2.1 — couvre les flows Authorization Code (avec PKCE), Client Credentials, Device Code et refresh-token. Inclut un petit listener HTTP embarqué pour l'URI de redirection.

Classe du composant

TsgcHTTP_OAuth2_Client

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Standard / Professional / Enterprise

Configure le provider, lance le flow

Configure ClientId / ClientSecret / Scope / Endpoints (ou utilise un preset Provider pour Google / Microsoft / GitHub), appelle StartAuthorization, puis utilise Token dans tes appels HTTP.

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

Ce qu’il y a à l’intérieur

Implémente la surface client OAuth 2.0 avec PKCE, rotation des refresh tokens et un listener loopback de redirection embarqué.

Flows

Authorization Code (avec PKCE optionnel selon la RFC 7636), Client Credentials (RFC 6749 §4.4), Device Code (RFC 8628) et Refresh Token (RFC 6749 §6) sont tous pris en charge sous forme de méthodes typées.

PKCE par défaut

Bascule OAuth2Options.PKCE — le composant génère la paire code_verifier / code_challenge et les inclut selon la RFC 7636 (obligatoire en OAuth 2.1).

Presets de providers

Les composants frères TsgcHTTP_OAuth2_Client_Google et TsgcHTTP_OAuth2_Client_Microsoft arrivent avec les bons endpoints et scopes pré-remplis. Utilise la classe de base pour tous les autres.

Listener de redirection loopback

Le composant démarre un petit listener HTTP embarqué sur la RedirectURL configurée, capture le code d'autorisation, puis ferme le listener — aucun serveur web externe requis.

Persistance des tokens

SaveToFile / LoadFromFile persistent le refresh token (chiffré au repos si configuré) pour ne pas reposer la question à l'utilisateur à chaque lancement.

Drop-in vers HTTP / WebSocket

Associe à TsgcHTTPComponentClient, TsgcHTTP2Client ou TsgcWebSocketClient via Authentication.Token.OAuth2 — le token bearer est injecté automatiquement à chaque requête.

Spécifications et références

Sources de référence pour les standards implémentés par ce composant.

Documentation et démos

Lien direct vers la référence du composant, récupère le projet de démo prêt à exécuter et télécharge l’essai.

Aide en ligne — TsgcHTTP_OAuth2_Client Référence complète des propriétés, méthodes et événements de ce composant.
Projet de démo — Demos\20.HTTP_Protocol\02.OAuth2_Authentication Projet d’exemple prêt à exécuter. Livré dans le paquet sgcWebSockets — télécharge l’essai ci-dessous.
Document technique (PDF) Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only.
Manuel utilisateur (PDF) Manuel exhaustif couvrant chaque composant de la bibliothèque.

Prêt à ajouter OAuth 2.0 à Delphi ?

Télécharge l'essai gratuit et intègre l'authentification OAuth 2.0 / 2.1 à tes applications Delphi.