sgcAuth: OAuth2-, JWT- & WebAuthn-componenten voor Delphi & C++ Builder
Standalone product OAuth2, JWT & WebAuthn

sgcAuth: OAuth2-, JWT- & WebAuthn-componenten voor Delphi & C++ Builder

Twee clientcomponenten brengen de tokenkant van moderne authenticatie naar je toepassing. TsgcHTTP_OAuth2_Client doorloopt de Authorization Code-, PKCE-, Client Credentials-, Resource Owner Password- en Device Code-grants tegen elke OAuth2/OIDC-provider. TsgcHTTP_JWT_Client bouwt, ondertekent en verifieert JSON Web Tokens, op zichzelf of als de Bearer-tokenbron voor je WebSocket- en HTTP-clients. sgcAuth is standalone, het levert de sgcWebSockets Core runtime mee waarop beide clients gebouwd zijn.

Volledige broncode
Delphi 7 tot 13 & C++ Builder
Meegeleverde runtime sgcWebSockets Core De HTTP-, TLS- en JSON-runtime onder beide clients
OAuth2 TsgcHTTP_OAuth2_Client
JWT TsgcHTTP_JWT_Client
2 Clientcomponenten Eén pagina op het componentenpalet
9 Geïmplementeerde RFC's OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE en meer
5 Platforms Windows, macOS, Linux, iOS en Android
100% Broncode inbegrepen Beide clients en de meegeleverde Core runtime
12 Maanden updates Elke release die verschijnt zolang je licentie actief is

Drie dingen die je eerst moet weten

Wat sgcAuth van je nodig heeft, of je deze componenten al bezit, en wat WebAuthn daar bovenop nodig heeft. Alle drie antwoorden zijn kort.

sgcAuth is zelfstandig

Standalone, de sgcWebSockets Core runtime is inbegrepen: de HTTP/TLS-clientstack waarmee beide componenten hun tokenrequests versturen, en de JSON-machinerie die de antwoorden parseert. Eén SKU, één installer.

Bij elke licentie krijg je de volledige broncode, zodat je door beide clients en de runtime eronder heen kunt stappen in je eigen debugger in plaats van ze in een binary te zien verdwijnen.

Editie-overlap

Al in jouw sgcWebSockets-editie?

Zowel de OAuth2 Client als de JWT Client zitten in sgcWebSockets vanaf de Standard-editie, dus als je een sgcWebSockets-editie bezit heb je beide componenten al. All-Access bevat alles.

sgcAuth bestaat voor het omgekeerde geval: je wilt OAuth2- en JWT-clientondersteuning in Delphi of C++ Builder zonder een volledige sgcWebSockets-editie te licentiëren. Controleer wat jouw editie al dekt voordat je koopt.

Add-on vereist

WebAuthn heeft sgcCustomIndy nodig

Wachtwoordloos aanmelden met WebAuthn wordt geleverd door TsgcWSAPIServer_WebAuthn, een sgcWebSockets Enterprise/All-Access-component gebouwd op de gepatchte Indy-bibliotheek die sgcCustomIndy als add-on levert. WebAuthn vereist de sgcCustomIndy-add-on, die automatisch wordt toegevoegd wanneer je sgcAuth bestelt.

Heb je al een sgcCustomIndy-licentie? Verwijder de automatisch toegevoegde regel uit je winkelmandje voordat je afrekent, in beide gevallen zonder extra kosten.

Twee clients, de hele tokenlevenscyclus

Elk is een niet-visueel component dat je op een formulier zet of in code aanmaakt, gedeclareerd onder het sgc-unitprefix en geregistreerd op de paletpagina SGC Auth. Stel de providergegevens in, koppel de events en roep dan Start aan.

OAuth21 component

Vijf granttypes, één component

TsgcHTTP_OAuth2_Client stuurt OAuth2Options.GrantType via auth2Code voor vertrouwde server-side toepassingen, auth2CodePKCE voor native, mobiele en single-page apps, auth2ClientCredentials voor daemons en serviceaccounts, auth2ResourceOwnerPassword, en auth2DeviceCode (RFC 8628) voor smart-tv's, kiosken en andere invoerbeperkte apparaten. Richt AuthorizationServerOptions op de authorize-, token-, revocation- en introspection-endpoints van de provider, en het component regelt de rest: wanneer Active/Start de Authorization Code-flow doorloopt, opent het de systeembrowser en zet het een kleine lokale HTTP-server op vanuit LocalServerOptions om de redirect op te vangen, waarna de code via gewone HTTPS door HTTPClientOptions wordt ingewisseld voor een token. Refresh, Revoke en Introspect dekken de tokenlevenscyclus daarna, en DPoPOptions plus GenerateDPoPKeyPair voegen DPoP proof-of-possession (RFC 9449) toe voor providers die dat vereisen. Kant-en-klare presets voor Google en Microsoft configureren de gangbare endpoints en scopes voor je.

TsgcHTTP_OAuth2_Client RFC 6749 · PKCE · Device Code · DPoP
JWT1 component

Ondertekenen, koppelen of verifiëren, jouw keuze

TsgcHTTP_JWT_Client ontsluit alles wat RFC 7519 nodig heeft via JWTOptions: de JOSE-Header (alg, typ, kid), de geregistreerde Payload-claims (iss, sub, aud, exp, nbf, iat, jti, plus custom claims via AddKeyValue), en het sleutelmateriaal onder Algorithms voor HMAC (HS.Secret), RSA (RS.PrivateKey) en ECDSA (ES.PrivateKey). Roep Sign aan om het token in compact-serialisatie direct terug te krijgen, handig voor diensten zonder ingebouwde HTTP- of WebSocket-client, of stel RefreshTokenAfter in en laat het component iat/exp automatisch vernieuwen en opnieuw ondertekenen. Hetzelfde component sluit rechtstreeks aan op Authentication.Token.JWT op TsgcWebSocketClient, TsgcHTTP1Client en TsgcHTTP2Client, zodat elk uitgaand request een vers Bearer-token meekrijgt zonder dat jij de header zelf aanraakt.

TsgcHTTP_JWT_Client RFC 7519 · JWS · JWE

Authenticatieflows vanuit Delphi-code

Beide componenten zijn gewone niet-visuele componenten, dus ze passen in wat je toepassing al is: een VCL-desktopapp, een Windows-service, een Linux-daemon. Dit zijn de patronen die klanten bouwen, elk gekoppeld aan de eigenschap of methode die het aanstuurt.

Aanmelden met Google of Microsoft auth2CodePKCE

Kant-en-klare presets voor Google en Microsoft configureren de authorize- en token-endpoints en scopes voor je.

Server-naar-server API-toegang auth2ClientCredentials

Achtergrondtaken en serviceaccounts authenticeren bij een API zonder gebruiker in de lus.

Smart-tv's, kiosken & IoT-apparaten auth2DeviceCode

Het apparaat toont een korte code, de gebruiker rondt het aanmelden af op zijn telefoon of laptop.

Lange sessies zonder opnieuw te vragen Refresh

Wissel een refresh-token op de achtergrond in voor een nieuw access-token, zonder tussenkomst van de browser.

Authenticeer je eigen WebSocket- & HTTP-API's Authentication.Token.JWT

De JWT Client ondertekent Bearer-tokens voor TsgcWebSocketClient, TsgcHTTP1Client en TsgcHTTP2Client automatisch.

Zelfstandig tokens ondertekenen Sign

Bouw en onderteken een JWT-string voor elke codebase, geen WebSocket- of HTTP-component nodig.

Een browserovergave, een handtekening en een meegeleverde runtime

OAuth2 en JWT lossen verschillende problemen op: het ene onderhandelt een token met een externe server, het andere ondertekent er lokaal een, en dat is precies de reden om ze samen te verpakken: sgcAuth verbergt het verschil achter dezelfde componentconventies, met de meegeleverde sgcWebSockets Core runtime die eronder het loodgieterswerk doet.

OAuth2 is een browserovergave, daarna gewone HTTPS

Start opent de systeembrowser (of, voor Device Code, geeft je de gebruikerscode om te tonen) en een lokale HTTP-listener vanuit LocalServerOptions vangt de autorisatieredirect op. De inwisseling voor het access-token is een gewone HTTPS-POST via HTTPClientOptions, op de HTTP-clientstack van de Core runtime.

JWT is ondertekenen, geen netwerkverkeer

TsgcHTTP_JWT_Client opent nooit een socket. JWTOptions configureert de header, payload en het sleutelmateriaal, en Sign geeft het token in compact-serialisatie terug, HMAC, RSA of ECDSA, klaar om aan elk request van je eigen code te hangen.

De Core runtime zit in de doos

Standalone, de sgcWebSockets Core runtime is inbegrepen. Ze levert de HTTP/TLS-clientstack waar beide componenten doorheen POSTen en de JSON-parser die de antwoorden leest, en de volledige broncode ervan maakt net als al het andere deel uit van het pakket.

WebAuthn is het derde stuk, via sgcCustomIndy

Wachtwoordloos aanmelden wordt afgehandeld door TsgcWSAPIServer_WebAuthn, een sgcWebSockets Enterprise/All-Access-servercomponent die de gepatchte Indy-build nodig heeft die sgcCustomIndy levert. Het bestellen van sgcAuth voegt sgcCustomIndy automatisch toe aan je winkelmandje.

Een token ophalen, een token ondertekenen

Beide componenten volgen dezelfde opzet: configureer de opties, roep dan een methode aan. Ze compileren in Delphi 7 tot 13 en C++ Builder, en dezelfde eigenschappen zijn beschikbaar op .NET.

uses
  sgcHTTP_OAuth2_Client, sgcHTTP_JWT_Client;

var
  OAuth2: TsgcHTTP_OAuth2_Client;
  JWT: TsgcHTTP_JWT_Client;
begin
  // OAuth2: Authorization Code Grant met PKCE
  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;   // opent de browser; de redirect komt aan op de lokale server

  // JWT: onderteken een token voor je eigen API
  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);
end;

procedure TForm1.OAuth2AccessToken(Sender: TObject);
begin
  Memo1.Lines.Add('Access token received.');
end;

Hetzelfde JWT-component koppelt rechtstreeks aan een WebSocket- of HTTP-client: stel Client.Authentication.Token.Enabled := True en Client.Authentication.Token.JWT := JWT in, en elk request gaat uit met een vers Bearer-token.

// include: sgcHTTP_OAuth2_Client.hpp, sgcHTTP_JWT_Client.hpp

// OAuth2: Authorization Code Grant met PKCE
TsgcHTTP_OAuth2_Client *OAuth2 = new TsgcHTTP_OAuth2_Client(this);
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();   // opent de browser; de redirect komt aan op de lokale server

// JWT: onderteken een token voor je eigen API
TsgcHTTP_JWT_Client *JWT = new TsgcHTTP_JWT_Client(this);
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());

void __fastcall TForm1::OAuth2AccessToken(TObject *Sender)
{
  Memo1->Lines->Add("Access token received.");
}

Hetzelfde JWT-component koppelt rechtstreeks aan een WebSocket- of HTTP-client: stel Client->Authentication->Token->Enabled = true en Client->Authentication->Token->JWT = JWT in, en elk request gaat uit met een vers Bearer-token.

Pure HTTPS en ondertekening, geen native bibliotheek

Geen van beide componenten is afhankelijk van iets buiten de HTTP-clientstack van de Core runtime en de crypto-primitieven van het platform, dus beide compileren en draaien overal waar Delphi dat ook doet.

TsgcHTTP_OAuth2_Client Authorization Code, PKCE, Client Credentials, Resource Owner Password, Device Code
Windows Win32 Windows Win64 Linux64 macOS iOS Android
TsgcHTTP_JWT_Client HS256/384/512, RS256/384/512, ES256/384/512
Windows Win32 Windows Win64 Linux64 macOS iOS Android
IDE-ondersteuning Eén broncodeboom, design-time packages per versie
Delphi 7 tot 13 C++ Builder
Proefinstaller De sgcWebSockets All-Access-proefversie bevat de Auth-componenten
Eén download, beide componenten

Download de proefinstaller →

Een standalone package

sgcAuth wordt zelfstandig gelicentieerd, vanaf €149 voor één ontwikkelaar. Alle licenties bevatten volledige broncode, 1 jaar updates en 50% tot 70% verlengingskorting: 50% als je één pakket verlengt, 60% bij twee, 70% bij drie of meer. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth en sgcHTTP tellen elk als een pakket.

sgcAuth

€149

Single-, Team- en Site-licenties beschikbaar.

  • OAuth2-client: Authorization Code, PKCE, Client Credentials, Device Code
  • JWT-client om tokens uit te geven, te ondertekenen & te verifiëren
  • WebAuthn-passkeys, via sgcCustomIndy (automatisch toegevoegd)
  • sgcWebSockets Core runtime inbegrepen
  • Delphi 7 tot 13 & C++ Builder
  • Volledige broncode
  • 1 jaar updates

sgcAuth bevat de sgcWebSockets Core runtime, dus er is niets anders te kopen voor de OAuth2- en JWT-clients.

Bij het afrekenen staan twee regels: het recht op de sgcWebSockets Core runtime, dat op nul wordt gefactureerd, en het sgcAuth-pakket zelf. sgcCustomIndy wordt automatisch toegevoegd voor WebAuthn, verwijder het als je al een licentie bezit. Volledige prijsinformatie.

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid

Lever authenticatie, geen tokenbibliotheek

OAuth2 en JWT vanuit native Delphi- en C++ Builder-code, met de runtime inbegrepen en volledige broncode in de doos. Download de All-Access-proefinstaller en zet vandaag nog beide componenten op een formulier.

Andere producten van eSeGeCe

Combineer sgcAuth met onze andere componentbibliotheken voor Delphi, C++ Builder en .NET.

sgcWebSockets

De volledige bibliotheek: WebSocket-clients en -servers, HTTP/2, IoT-, P2P- en AI-componenten. De edities bevatten ook de OAuth2- en JWT-clients.

Meer informatie →

sgcCustomIndy

De custom Indy-bibliotheek waarop sgcWebSockets Enterprise is gebouwd, verpakt als add-on. Vereist voor WebAuthn, automatisch toegevoegd aan sgcAuth-bestellingen.

Meer informatie →

sgcAI

AI-, LLM- en MCP-componenten. Eén chatcomponent bereikt OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok en Mistral.

Meer informatie →

sgcMQ

Native MQTT 3.1.1/5.0-, AMQP 0.9.1-, AMQP 1.0-, Apache Kafka- en STOMP-clientcomponenten, met de Core runtime inbegrepen.

Meer informatie →

sgcSocial

WhatsApp Business Cloud API- en Telegram TDLib-clientcomponenten, met de Core runtime inbegrepen.

Meer informatie →

sgcHTML

Data-aware server-side HTML/UI-componenten voor Delphi, C++ Builder en .NET, met Bootstrap 5 en htmx, inclusief een WebAuthn-inlog-UI-component.

Meer informatie →