eSeGeCe — Composants de communication d’entreprise pour Delphi & .NET
EN VEDETTE · sgcAuth

OAuth2 et JWT, natifs dans Delphi

Deux composants portent le volet token de l’authentification moderne dans ton application. TsgcHTTP_OAuth2_Client pilote les flux Authorization Code, PKCE, Client Credentials, Resource Owner Password et Device Code auprès de tout fournisseur OAuth2/OIDC. TsgcHTTP_JWT_Client construit, signe et vérifie des JSON Web Tokens, seul ou comme source de token Bearer pour tes clients WebSocket et HTTP. Autonome, le runtime sgcWebSockets Core est inclus.

  • 2 composants clients
  • OAuth2 · JWT · WebAuthn
  • 9 RFC implémentées
  • Delphi 7 à 13 · C++ Builder

Deux composants, tout le cycle de vie du token

sgcAuth est un package autonome. Il embarque le runtime sgcWebSockets Core sur lequel il repose, et chaque licence est livrée avec le code source complet, si bien que les échanges de token se tracent dans ton propre débogueur.

2 Composants clients TsgcHTTP_OAuth2_Client et TsgcHTTP_JWT_Client, sur une seule page de palette.
9 RFC implémentées OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE et plus.
5 Plateformes cibles Windows, macOS, Linux 64 bits, iOS et Android depuis une seule arborescence source.
1 Installateur autonome Le runtime sgcWebSockets Core et la couche HTTP/TLS sont tous deux inclus dans le package.
100% Code source inclus Chaque licence porte le code source complet des deux composants et du runtime inclus.
sgcAuth

Client OAuth2, client JWT et prise en charge des passkeys WebAuthn pour Delphi et C++ Builder. Un package autonome avec le runtime sgcWebSockets Core inclus, le code source complet, et un déploiement sans royalties.

Un composant par tâche, un seul style d’API

Dépose un composant sur une fiche, règle les détails du fournisseur ou de la clé, branche les événements, puis appelle Start ou Sign. Le nommage est cohérent sur les deux, un flux d’authentification se lit donc de la même façon quel que soit le grant ou l’algorithme utilisé.

OAuth2

Cinq flux d’autorisation, un composant

TsgcHTTP_OAuth2_Client pilote OAuth2Options.GrantType à travers auth2Code pour les applications de confiance côté serveur, auth2CodePKCE pour les applications natives, mobiles et à page unique, auth2ClientCredentials pour les démons et comptes de service, auth2ResourceOwnerPassword, et auth2DeviceCode (RFC 8628) pour les smart TV, les bornes et autres appareils à saisie limitée. Start ouvre le navigateur système et lance un petit serveur HTTP local depuis LocalServerOptions pour capter la redirection, échangeant le code contre un token en HTTPS pur. Refresh, Revoke et Introspect couvrent ensuite le cycle de vie du token, et DPoPOptions ajoute la preuve de possession (RFC 9449) pour les fournisseurs qui l’exigent.

Voir le client OAuth2 →
JWT

Signe, attache ou vérifie, à ton choix

TsgcHTTP_JWT_Client expose tout ce dont la RFC 7519 a besoin via JWTOptions : l’en-tête JOSE Header, les revendications enregistrées Payload (iss, sub, aud, exp, nbf, iat, jti, plus des revendications personnalisées), et le matériel de clé pour HMAC, RSA et ECDSA. Appelle Sign pour récupérer directement le token en sérialisation compacte, ou règle RefreshTokenAfter et laisse le composant resigner automatiquement. Le même composant se branche directement sur Authentication.Token.JWT de TsgcWebSocketClient, TsgcHTTP1Client et TsgcHTTP2Client, chaque requête sortante porte donc un token Bearer à jour.

Voir le client JWT →
WebAuthn

Passkeys, via sgcCustomIndy

La connexion sans mot de passe est servie par TsgcWSAPIServer_WebAuthn, un composant sgcWebSockets Enterprise/All-Access bâti sur la bibliothèque Indy modifiée que sgcCustomIndy fournit comme complément. Il est ajouté automatiquement quand tu commandes sgcAuth.

Voir ce qu’il peut faire →
Cas d’usage

Connexion, comptes de service et tes propres API

Connexion avec Google ou Microsoft, accès API de serveur à serveur, smart TV et bornes, sessions longues sans redemander de connexion, et tokens Bearer pour tes propres API WebSocket et HTTP. Les deux composants tournent volontiers dans une application VCL ou FMX, un service ou un processus console.

La matrice des fonctionnalités →
Multiplateforme

Du HTTPS pur et de la signature, aucune bibliothèque native

Aucun des deux composants ne dépend de plus que la pile client HTTP du runtime Core et les primitives crypto de la plateforme, ils se compilent et tournent donc partout où Delphi le fait. De Delphi 7 à RAD Studio 13 et sur C++ Builder.

La matrice des fonctionnalités →

Les pages de référence de chaque composant :

Obtenir un token, signer un token

Configure les options, puis appelle une méthode. Les deux composants se compilent de Delphi 7 à 13 et sur C++ Builder, et les mêmes propriétés sont exposées en .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 même forme en Object Pascal et en C++ Builder. La matrice complète des fonctionnalités →

Trois choses à savoir d’abord

Ce que sgcAuth attend de toi, si tu possèdes déjà ces composants, et ce dont WebAuthn a besoin en plus. Les trois réponses sont courtes, et toutes les trois sont sur cette page plutôt qu’en petits caractères.

Composants et flux
tâche        composant                flux / algorithmes
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

tu l'as déjà ?
Le client OAuth2 et le client JWT sont tous deux livrés
  dans sgcWebSockets à partir de l'édition Standard.
sgcAuth sert à licencier OAuth2 + JWT sans une édition
  complète de sgcWebSockets.

sgcAuth est autonome

Autonome, le runtime sgcWebSockets Core est inclus : la pile client HTTP/TLS par laquelle les deux composants envoient leurs requêtes de token, et les mécanismes JSON qui analysent les réponses. Un seul installateur, code source complet dans la boîte.

Déjà inclus dans ton édition sgcWebSockets ?

Le client OAuth2 et le client JWT sont tous deux livrés dans sgcWebSockets à partir de l’édition Standard, donc si tu possèdes déjà une édition sgcWebSockets, tu as déjà les deux composants. sgcAuth existe pour le cas inverse : OAuth2 et JWT sans licencier une édition complète de sgcWebSockets.

WebAuthn nécessite sgcCustomIndy

La connexion sans mot de passe par WebAuthn est servie par TsgcWSAPIServer_WebAuthn, un composant sgcWebSockets Enterprise/All-Access bâti sur la bibliothèque Indy modifiée que sgcCustomIndy fournit comme complément. WebAuthn nécessite le complément sgcCustomIndy, ajouté automatiquement quand tu commandes sgcAuth. Tu possèdes déjà une licence sgcCustomIndy ? Retire la ligne ajoutée automatiquement de ton panier avant le paiement, sans surcoût dans les deux cas.

Delphi et C++ Builder

sgcAuth cible Delphi 7 à RAD Studio 13 et C++ Builder. L’installateur d’essai gratuit est l’essai sgcWebSockets All-Access, les deux composants peuvent donc être évalués dès aujourd’hui.

PKCE Device Code DPoP HMAC · RSA · ECDSA Code source complet

Chaque composant et propriété →

sgcAuth parle aux standards publiés OAuth2/OIDC et JWT/JWS plutôt que d’envelopper un SDK propriétaire, le choix du fournisseur t’appartient donc : Google, Microsoft, Auth0, Okta, Keycloak, ou tout serveur d’autorisation conforme aux RFC. Flux, rafraîchissement, révocation et signature sont tous des méthodes et événements de premier ordre, et le code source complet garantit que rien entre les deux n’est une boîte noire.

Douze bibliothèques, une seule boîte à outils

sgcAuth est l’une des douze bibliothèques de composants eSeGeCe pour Delphi, C++ Builder et .NET. Elles partagent les mêmes conventions, elles sont livrées avec le code source complet et se déploient sans royalties.

sgcAuth

Client OAuth2, client JWT et prise en charge de WebAuthn pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcHTTP

Client HTTP/2, client gRPC et clients Google Cloud Pub/Sub, Calendar et FCM pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, IA et plus de 30 intégrations d’APIs pour Delphi, C++ Builder, Lazarus et .NET. C’est là que vit le runtime Core.

En savoir plus →

sgcMQ

Composants clients MQTT, AMQP 0.9.1 et 1.0, Apache Kafka et STOMP pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcSocial

Composants clients Telegram et WhatsApp Business pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcHTML

Composants HTML et d’interface côté serveur sur Bootstrap 5 et htmx, dont un composant d’interface de connexion WebAuthn.

En savoir plus →

sgcQUIC

Transport QUIC pur et un client/serveur HTTP/3, avec WebTransport. Un complément à sgcWebSockets Enterprise.

En savoir plus →

sgcAI

Composants IA, LLM et MCP pour Delphi et C++ Builder. Sept fournisseurs de LLM derrière un seul composant, plus MCP, embeddings et voix. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcOpenAPI

Parser OpenAPI 3.x, générateur natif de SDK Pascal, composant serveur OpenAPI, et plus de 1 195 SDK cloud préconçus.

En savoir plus →

sgcSign

XAdES, PAdES, CAdES et ASiC pour les documents, Authenticode, ClickOnce, NuGet et VSIX pour le code.

En savoir plus →

sgcBiometrics

Windows Hello, capteurs d’empreintes digitales et Windows Biometric Framework pour Delphi et C++ Builder.

En savoir plus →

sgcIndy

Composants Indy TCP/IP mis à jour avec TLS moderne, IPv6 et HTTP/2, de Delphi 7 à 13.

En savoir plus →

Voir les tarifs et les licences Télécharger l’essai gratuit

Ce que disent les développeurs

Plébiscité par des développeurs Delphi, C++ Builder, Lazarus et .NET dans le monde entier.

Votre bibliothèque sgcWebSockets est très utile et facile à configurer. Continuez votre excellent travail !

Simone Moretti Développeur Delphi

sgcWebSockets est incroyable et votre support est le meilleur !

Christian Meyer Fondateur & CTO

Merci beaucoup pour votre aide et votre support, j’adore vos composants.

Mark Steinfeld CTO

Tu vois la vue Authentification d’eSeGeCe.

Montre-moi un autre angle →

Livre de l’authentification, pas une bibliothèque de tokens

OAuth2 et JWT dans un seul package, avec le runtime sgcWebSockets Core inclus et le code source complet dans la boîte.