Client OAuth 2.0

Componente client OAuth 2.0 / OAuth 2.1 — Authorization Code con PKCE, Client Credentials, Device Code, rotazione del refresh token e flusso browser integrato.

TsgcHTTP_OAuth2_Client

Implementa il lato client di OAuth 2.0 / 2.1 — copre i flussi Authorization Code (con PKCE), Client Credentials, Device Code e refresh-token. Include un piccolo listener HTTP integrato per il redirect URI.

Classe del componente

TsgcHTTP_OAuth2_Client

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Standard / Professional / Enterprise

Configura il provider e avvia il flusso

Configura ClientId / ClientSecret / Scope / Endpoint (oppure usa un preset per Google / Microsoft / GitHub), chiama StartAuthorization e usa Token nelle tue chiamate 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;

  // Apre il browser dell'utente all'URL di autorizzazione
  OAuth2.StartAuthorization;
  // ... l'utente accede, il browser viene reindirizzato all'URL di callback
  // ... il componente cattura il codice e lo scambia con i token

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

Cosa contiene

Implementa la superficie client di OAuth 2.0 con PKCE, rotazione dei refresh token e un listener di redirect su loopback integrato.

Flussi

Authorization Code (con PKCE opzionale secondo RFC 7636), Client Credentials (RFC 6749 §4.4), Device Code (RFC 8628) e Refresh Token (RFC 6749 §6) sono tutti supportati come metodi tipizzati.

PKCE di default

Attiva OAuth2Options.PKCE — il componente genera la coppia code_verifier / code_challenge e li include secondo la RFC 7636 (obbligatori in OAuth 2.1).

Preset per provider

I componenti gemelli TsgcHTTP_OAuth2_Client_Google e TsgcHTTP_OAuth2_Client_Microsoft arrivano con gli endpoint e gli scope giusti già preimpostati. Per tutti gli altri usa la classe base.

Listener di redirect su loopback

Il componente avvia un piccolo listener HTTP integrato sul RedirectURL configurato, cattura il codice di autorizzazione e poi spegne il listener — non serve un web server esterno.

Persistenza dei token

SaveToFile / LoadFromFile persistono il refresh token (cifrato a riposo se configurato) così l'utente non deve fare login a ogni avvio.

Drop-in in HTTP / WebSocket

Abbinalo a TsgcHTTPComponentClient, TsgcHTTP2Client o TsgcWebSocketClient tramite Authentication.Token.OAuth2 — il bearer token viene iniettato automaticamente in ogni richiesta.

Specifiche e riferimenti

Fonti autorevoli per gli standard implementati da questo componente.

Documentazione e demo

Vai al riferimento del componente, scarica il progetto demo pronto all'uso e prova la versione trial.

Guida online — TsgcHTTP_OAuth2_Client Riferimento completo di proprietà, metodi ed eventi per questo componente.
Progetto demo — Demos\20.HTTP_Protocol\02.OAuth2_Authentication Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto.
Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo per questo componente.
Manuale utente (PDF) Manuale completo che copre tutti i componenti della libreria.

Pronto ad aggiungere OAuth 2.0 a Delphi?

Scarica la versione di prova gratuita e integra l'autenticazione OAuth 2.0 / 2.1 nelle tue applicazioni Delphi.