eSeGeCe — Componenti di comunicazione enterprise per Delphi e .NET
IN EVIDENZA · sgcAuth

OAuth2 e JWT, nativi in Delphi

Due componenti portano il lato token dell'autenticazione moderna nella tua applicazione. TsgcHTTP_OAuth2_Client esegue i flussi Authorization Code, PKCE, Client Credentials, Resource Owner Password e Device Code contro qualsiasi provider OAuth2/OIDC. TsgcHTTP_JWT_Client crea, firma e verifica JSON Web Token, da solo o come sorgente del Bearer token per i tuoi client WebSocket e HTTP. Autonomo, include il runtime sgcWebSockets Core.

  • 2 componenti client
  • OAuth2 · JWT · WebAuthn
  • 9 RFC implementate
  • Delphi da 7 a 13 · C++ Builder

Due componenti, l'intero ciclo di vita del token

sgcAuth è un package autonomo. Include il runtime sgcWebSockets Core su cui è costruito, e ogni licenza viene fornita con il codice sorgente completo, così puoi seguire gli scambi di token passo passo nel tuo debugger.

2 Componenti client TsgcHTTP_OAuth2_Client e TsgcHTTP_JWT_Client, su un'unica pagina della palette.
9 RFC implementate OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE e altro.
5 Piattaforme target Windows, macOS, Linux a 64 bit, iOS e Android da un unico albero dei sorgenti.
1 Installer autonomo Il runtime sgcWebSockets Core e il livello HTTP/TLS sono entrambi inclusi nel package.
100% Codice sorgente incluso Ogni licenza include il sorgente completo di entrambi i componenti e del runtime incluso.
sgcAuth

Client OAuth2, client JWT e supporto passkey WebAuthn per Delphi e C++ Builder. Un package autonomo con il runtime sgcWebSockets Core incluso, codice sorgente completo e distribuzione senza royalty.

Un componente per compito, un solo stile di API

Trascina un componente su una form, imposta i dettagli del provider o della chiave, collega gli eventi, poi chiama Start o Sign. La nomenclatura è coerente in entrambi, quindi un flusso di autenticazione si legge allo stesso modo qualunque grant o algoritmo usi.

OAuth2

Cinque grant type, un solo componente

TsgcHTTP_OAuth2_Client pilota OAuth2Options.GrantType attraverso auth2Code per applicazioni server-side affidabili, auth2CodePKCE per app native, mobile e single-page, auth2ClientCredentials per demoni e account di servizio, auth2ResourceOwnerPassword, e auth2DeviceCode (RFC 8628) per smart TV, chioschi e altri dispositivi con input limitato. Start apre il browser di sistema e avvia un piccolo server HTTP locale da LocalServerOptions per intercettare il redirect, scambiando il codice con un token su HTTPS puro. Refresh, Revoke e Introspect coprono il ciclo di vita del token da lì in poi, e DPoPOptions aggiunge la proof-of-possession (RFC 9449) per i provider che la richiedono.

Vedi il client OAuth2 →
JWT

Firma, allega o verifica, a tua scelta

TsgcHTTP_JWT_Client espone tutto ciò che serve alla RFC 7519 attraverso JWTOptions: l'header JOSE, le claim registrate del Payload (iss, sub, aud, exp, nbf, iat, jti, più claim personalizzate), e il materiale della chiave per HMAC, RSA ed ECDSA. Chiama Sign per ottenere direttamente il token in serializzazione compatta, oppure imposta RefreshTokenAfter e lascia che il componente rifirmi automaticamente. Lo stesso componente si collega direttamente ad Authentication.Token.JWT su TsgcWebSocketClient, TsgcHTTP1Client e TsgcHTTP2Client, così ogni richiesta in uscita porta un Bearer token aggiornato.

Vedi il client JWT →
WebAuthn

Passkey, tramite sgcCustomIndy

L'accesso passwordless è servito da TsgcWSAPIServer_WebAuthn, un componente Enterprise/All-Access di sgcWebSockets costruito sulla libreria Indy modificata che sgcCustomIndy distribuisce come componente aggiuntivo. Viene aggiunto automaticamente quando ordini sgcAuth.

Scopri cosa può fare →
Casi d'uso

Accesso, account di servizio e le tue API

Accesso con Google o Microsoft, accesso API da server a server, smart TV e chioschi, sessioni lunghe senza richiedere di nuovo l'accesso, e Bearer token per le tue API WebSocket e HTTP. Entrambi i componenti funzionano perfettamente dentro un'applicazione VCL o FMX, un servizio o un processo console.

La matrice delle funzionalità →
Multipiattaforma

HTTPS puro e firma, nessuna libreria nativa

Nessuno dei due componenti dipende da altro oltre allo stack client HTTP del runtime Core e alle primitive crittografiche della piattaforma, quindi entrambi compilano e girano ovunque compili Delphi. Da Delphi 7 a RAD Studio 13 e su C++ Builder.

La matrice delle funzionalità →

Pagine di riferimento per ogni componente:

Ottieni un token, firma un token

Configura le opzioni, poi chiama un metodo. Entrambi i componenti compilano in Delphi 7-13 e C++ Builder, e le stesse proprietà sono esposte su .NET.

uses
  sgcHTTP_OAuth2_Client;
var
  OAuth2: TsgcHTTP_OAuth2_Client;
begin
  OAuth2 := TsgcHTTP_OAuth2_Client.Create(nil);
  OAuth2.OAuth2Options.GrantType := auth2CodePKCE;
  OAuth2.OAuth2Options.ClientId := 'your-client-id';
  OAuth2.AuthorizationServerOptions.AuthURL := 'https://provider.com/oauth2/authorize';
  OAuth2.AuthorizationServerOptions.TokenURL := 'https://provider.com/oauth2/token';
  OAuth2.AuthorizationServerOptions.Scope.Text := 'openid profile';
  OAuth2.LocalServerOptions.IP := '127.0.0.1';
  OAuth2.LocalServerOptions.Port := 8080;

  OAuth2.OnAfterAccessToken := OAuth2AccessToken;
  OAuth2.Start;   // opens the browser; the redirect lands on the local server
end;

procedure TForm1.OAuth2AccessToken(Sender: TObject);
begin
  Memo1.Lines.Add('Access token received.');
end;
uses
  sgcHTTP_JWT_Client;
var
  JWT: TsgcHTTP_JWT_Client;
begin
  JWT := TsgcHTTP_JWT_Client.Create(nil);
  JWT.JWTOptions.Header.alg := jwtHS256;
  JWT.JWTOptions.Algorithms.HS.Secret := '79F66F1E-E998-436B-8A0A-3E5DEFA4FD9E';
  JWT.JWTOptions.Payload.iss := 'your-service';
  JWT.JWTOptions.Payload.sub := '1234567890';
  JWT.JWTOptions.Payload.iat := DateTimeToUnix(Now);

  ShowMessage(JWT.Sign);

  // or attach it to a WebSocket / HTTP client directly:
  // Client.Authentication.Token.Enabled := True;
  // Client.Authentication.Token.JWT := JWT;
end;

La stessa forma in Object Pascal e in C++ Builder. La matrice completa delle funzionalità →

Tre cose che vale la pena sapere subito

Cosa richiede sgcAuth da te, se possiedi già questi componenti, e cosa serve in più per WebAuthn. Tutte e tre le risposte sono brevi, e tutte e tre sono su questa pagina invece che nelle note in piccolo.

Componenti e grant
lavoro       componente               grant / algoritmi
OAuth2       TsgcHTTP_OAuth2_Client   Code, PKCE, Client Credentials,
                                       Resource Owner Password, Device Code
JWT          TsgcHTTP_JWT_Client      HS256/384/512, RS256/384/512, ES256/384/512

lo possiedi già?
Sia il client OAuth2 sia il client JWT sono inclusi in
  sgcWebSockets a partire dall'edizione Standard.
sgcAuth serve per licenziare OAuth2 + JWT senza una
  edizione completa di sgcWebSockets.

sgcAuth è autonomo

Autonomo, include il runtime sgcWebSockets Core: lo stack client HTTP/TLS con cui entrambi i componenti effettuano le loro richieste di token, e le funzioni JSON con cui interpretano le risposte. Un solo installer, codice sorgente completo nella confezione.

Già nella tua edizione di sgcWebSockets?

Sia il client OAuth2 sia il client JWT sono inclusi in sgcWebSockets a partire dall'edizione Standard, quindi se possiedi una qualsiasi edizione di sgcWebSockets hai già entrambi i componenti. sgcAuth esiste per il caso opposto: supporto client OAuth2 e JWT senza licenziare un'intera edizione di sgcWebSockets.

WebAuthn richiede sgcCustomIndy

L'accesso passwordless con WebAuthn è servito da TsgcWSAPIServer_WebAuthn, un componente Enterprise/All-Access di sgcWebSockets costruito sulla libreria Indy modificata che sgcCustomIndy distribuisce come componente aggiuntivo. WebAuthn richiede il componente aggiuntivo sgcCustomIndy, che viene aggiunto automaticamente quando ordini sgcAuth. Possiedi già una licenza sgcCustomIndy? Rimuovi la riga aggiunta automaticamente dal tuo carrello prima del pagamento, nessun costo extra in entrambi i casi.

Delphi e C++ Builder

sgcAuth supporta da Delphi 7 a RAD Studio 13 e C++ Builder. L'installer della versione di prova gratuita è la prova All-Access di sgcWebSockets, quindi entrambi i componenti possono essere valutati fin da subito.

PKCE Device Code DPoP HMAC · RSA · ECDSA Sorgente completo

Ogni componente e proprietà →

sgcAuth parla gli standard pubblicati OAuth2/OIDC e JWT/JWS invece di avvolgere un SDK di terze parti, quindi il provider è una tua scelta: Google, Microsoft, Auth0, Okta, Keycloak, o qualsiasi authorization server conforme alle RFC. Grant, refresh, revoca e firma sono tutti metodi ed eventi di prima classe, e il codice sorgente completo significa che nulla nel mezzo è una scatola nera.

Dodici librerie, una sola cassetta degli attrezzi

sgcAuth è una delle dodici librerie di componenti eSeGeCe per Delphi, C++ Builder e .NET. Condividono le convenzioni, vengono fornite con il sorgente completo e si distribuiscono senza royalty.

sgcAuth

Client OAuth2, client JWT e supporto WebAuthn per Delphi e C++ Builder. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcHTTP

Client HTTP/2, client gRPC e client Google Cloud Pub/Sub, Calendar e FCM per Delphi e C++ Builder. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, IA e oltre 30 integrazioni API per Delphi, C++ Builder, Lazarus e .NET. È qui che vive il runtime Core.

Scopri di più →

sgcMQ

Componenti client MQTT, AMQP 0.9.1 e 1.0, Apache Kafka e STOMP per Delphi e C++ Builder. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcSocial

Componenti client Telegram e WhatsApp Business per Delphi e C++ Builder. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcHTML

Componenti HTML e UI lato server su Bootstrap 5 e htmx, incluso un componente UI di login WebAuthn.

Scopri di più →

sgcQUIC

Trasporto QUIC puro e un client e server HTTP/3, con WebTransport. Un componente aggiuntivo per sgcWebSockets Enterprise.

Scopri di più →

sgcAI

Componenti AI, LLM e MCP per Delphi e C++ Builder. Sette provider LLM dietro un unico componente, più MCP, embeddings e voce. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcOpenAPI

Parser OpenAPI 3.x, generatore di SDK Pascal nativi, componente server OpenAPI e oltre 1.195 SDK cloud già pronti.

Scopri di più →

sgcSign

XAdES, PAdES, CAdES e ASiC per i documenti, Authenticode, ClickOnce, NuGet e VSIX per il codice.

Scopri di più →

sgcBiometrics

Windows Hello, sensori di impronte digitali e il Windows Biometric Framework per Delphi e C++ Builder.

Scopri di più →

sgcIndy

Componenti TCP/IP Indy aggiornati con TLS moderno, IPv6 e HTTP/2 per Delphi da 7 a 13.

Scopri di più →

Vedi prezzi e licenze Scarica la versione di prova

Cosa dicono gli sviluppatori

La scelta di sviluppatori Delphi, C++ Builder, Lazarus e .NET in tutto il mondo.

La vostra libreria sgcWebSockets è molto utile e semplice da configurare. Continuate così!

Simone Moretti Delphi Developer

sgcWebSockets è straordinario e il vostro supporto è il migliore!

Christian Meyer Founder & CTO

Grazie mille per il vostro aiuto e supporto, adoro i vostri componenti.

Mark Steinfeld CTO

Questa è la vista Autenticazione di eSeGeCe.

Mostrami un altro punto di vista →

Distribuisci l'autenticazione, non una libreria di token

OAuth2 e JWT in un unico package, con il runtime sgcWebSockets Core incluso e il codice sorgente completo nella confezione.