sgcAuthOAuth2 et JWT,natifs dans Delphi.Les passkeys aussi.
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.
Démarrage rapide de sgcAuth | signe un JWT, valide-le sur le serveur
Client OAuth2Types de grantPasskeys WebAuthn
2Composants clients, OAuth2 et JWT, sur une seule page de la palette
9RFC implémentées : OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE et plus encore
5Plateformes cibles : Windows, macOS, Linux 64 bits, iOS et Android
1Installateur autonome, avec le runtime Core inclus
100%Code source inclus avec chaque licence
Regarde-le tourner
Découvre sgcAuth en deux minutes.
JWT, OAuth2 et WebAuthn, côté client et côté serveur, depuis Delphi. Commenté et sous-titré. Rien ne se télécharge avant que tu appuies sur lecture.
Démarrage rapide de sgcAuth
Tokens, autorisation déléguée et passkeys dans un seul package.
Trois façons de commencerJWT quand tu connais déjà l’utilisateur, OAuth2 quand un tiers détient l’identité, WebAuthn quand il n’y a plus de mot de passe du tout.
Signer un JWTChoisis l’algorithme et le secret, renseigne les claims standard, puis attache le composant à un client WebSocket ou HTTP comme token Bearer.
Le valider sur le serveurLa signature, exp et nbf sont vérifiés, et une requête avec un mauvais token n’atteint jamais ton gestionnaire.
OAuth2 dans un seul composantClient id, URL du fournisseur, scopes et un type de grant. Il ouvre le navigateur et lance le serveur de redirection local à ta place.
WebAuthn et passkeysEnregistrement et assertion pilotés par le composant serveur. La clé privée ne quitte jamais l’appareil.
Ce que contient le pack
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é.
Tous les types de grant, un seul 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, vérification 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.
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, vérification sub, vérification aud, vérification exp, vérification nbf, vérification iat, vérification 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 re-signer automatiquement.
Le composant JWT se branche directement dans Authentication.Token.JWT de TsgcWebSocketClient, vérification TsgcHTTP1Client et TsgcHTTP2Client, de sorte que chaque requête sortante porte un token Bearer tout neuf sans une ligne de code d’en-tête.
La connexion sans mot de passe est servie par TsgcWSAPIServer_WebAuthn, un composant sgcWebSockets Enterprise/All-Access construit sur la bibliothèque Indy corrigée que sgcCustomIndy fournit comme add-on. Il est toujours inclus quand tu commandes sgcAuth, tout comme les composants TOTP, LDAP, SAML, OpenID Connect et Mail OAuth2.
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.
HTTPS et signature purs, aucune bibliothèque native
Aucun des deux composants ne dépend d’autre chose que de la pile client HTTP du runtime Core et des primitives cryptographiques de la plateforme, ils se compilent et s’exécutent donc partout où Delphi le fait : Windows, macOS, Linux 64 bits, iOS et Android. De Delphi 7 à RAD Studio 13 et sur C++ Builder.
sgcAuth parle les standards publiés OAuth2/OIDC et JWT/JWS plutôt que d’encapsuler un SDK de fournisseur, le choix du fournisseur est donc le tien : Google, Microsoft, Auth0, Okta, Keycloak, ou n’importe quel serveur d’autorisation conforme aux RFC. Des préréglages Google et Microsoft prêts à l’emploi configurent à ta place les points de terminaison et les scopes courants.
sgcAuth est un package autonome. Il inclut le runtime sgcWebSockets Core sur lequel il repose, et chaque licence est livrée avec le code source complet, de sorte que les échanges de tokens se déroulent pas à pas dans ton propre débogueur. Le déploiement est sans redevance.
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 serverend;
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;
Dépose un composant sur une ficheTsgcHTTP_OAuth2_Client et TsgcHTTP_JWT_Client se trouvent sur la même page de la palette.
Renseigne le fournisseur ou la cléURL d’autorisation et de token, client id et scopes pour OAuth2. Algorithme, secret ou paire de clés et claims pour JWT.
Branche les événementsOnAfterAccessToken te remet le token, et les appels de refresh, de revoke et d’introspect suivent le même schéma.
Appelle Start ou SignOu confie le composant JWT à un client WebSocket ou HTTP et laisse-le attacher un token Bearer tout neuf à chaque requête.
Regard de plus près
Trois portes d’entrée, un seul package.
Images de la vidéo de démarrage rapide de sgcAuth.
Signé côté client, vérifié côté serveur.
Le client JWT signe avec HMAC, RSA ou ECDSA et voyage dans l’en-tête Authorization: Bearer de la requête. En face, la signature est vérifiée avec le même secret ou la clé publique, les tokens expirés ou pas encore valides sont rejetés, et une requête avec un mauvais token n’atteint jamais ton gestionnaire.
Choisis le grant qui convient à l’application.
Authorization Code pour les applications web avec un back end, PKCE pour les applications natives et mobiles, Client Credentials pour les échanges machine à machine, Device Code pour les téléviseurs et les consoles. Le refresh, la révocation, l’introspection et DPoP sont aussi gérés pour toi.
Pas de mot de passe, et aucun secret partagé à laisser fuiter.
Le serveur envoie un challenge aléatoire, l’authentificateur le signe avec la clé privée, et le serveur le vérifie avec la clé publique stockée. L’utilisateur se connecte avec une passkey, une empreinte digitale ou une clé matérielle, et la clé privée ne quitte jamais l’appareil.
Avant d’acheter
Quatre choses à savoir avant tout.
Ce que sgcAuth attend de toi, si tu possèdes déjà ces composants, ce dont WebAuthn a besoin en plus, et quels IDE sont ciblés. Les réponses sont courtes, et elles sont sur cette page plutôt qu’en petits caractères.
job component grants / algorithms
OAuth2 TsgcHTTP_OAuth2_ClientCode, PKCE, Client Credentials,Resource Owner Password, Device Code
JWT TsgcHTTP_JWT_ClientHS256/384/512, RS256/384/512, ES256/384/512already own it?
Both the OAuth2 Client and the JWT Client ship inside
sgcWebSockets from the Standard edition up.
sgcAuth is for licensing OAuth2 + JWT without a full
sgcWebSockets edition.
sgcAuth est autonomeLe runtime sgcWebSockets Core est inclus : la pile client HTTP/TLS par laquelle les deux composants envoient leurs requêtes de token en POST, et la mécanique JSON qui analyse les réponses. Un seul installateur, le code source complet inclus.
Déjà inclus dans ton édition sgcWebSockets ?Les deux clients sont livrés dans sgcWebSockets à partir de l’édition Standard. sgcAuth existe pour le cas inverse : la prise en charge des clients OAuth2 et JWT sans licencier une édition complète de sgcWebSockets.
WebAuthn nécessite sgcCustomIndyTsgcWSAPIServer_WebAuthn est construit sur la bibliothèque Indy corrigée que sgcCustomIndy fournit comme add-on. Il est toujours inclus quand tu commandes sgcAuth, et le prix de sgcAuth affiché le couvre déjà.
Delphi et C++ BuildersgcAuth 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.
Les grants, le refresh, la révocation et la signature sont autant de méthodes et d’événements de premier plan, et avec le code source complet, rien entre les deux n’est une boîte noire. Chaque composant et propriété →
Fait partie de sgcWebSockets
Sous licence autonome, ou déjà dans ton édition.
sgcAuth est un package de la famille sgcWebSockets. Achète-le en version autonome avec le runtime Core inclus, ou obtiens les deux clients avec n’importe quelle édition de sgcWebSockets à partir de Standard.
sgcAuth
Les clients OAuth2 et JWT, en version autonome, avec le runtime sgcWebSockets Core inclus.
Si tu possèdes une édition de sgcWebSockets, tu as déjà les deux clients. sgcAuth s’adresse à OAuth2 et JWT sans licencier une édition complète de sgcWebSockets.
sgcAuth fait partie des bibliothèques de composants eSeGeCe pour Delphi, C++ Builder et .NET. Elles partagent les mêmes conventions, sont livrées avec le code source complet et se déploient sans redevance.
Garantie satisfait ou remboursé de 30 joursPas satisfait ? Demandez un remboursement intégral dans les 30 jours suivant l'achat. Voir la politique de remboursement