eSeGeCe — Enterprise-communicatiecomponenten voor Delphi & .NET
UITGELICHT · sgcAuth

OAuth2 en JWT, native in Delphi

Twee componenten 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. Standalone, de sgcWebSockets Core runtime is inbegrepen.

  • 2 clientcomponenten
  • OAuth2 · JWT · WebAuthn
  • 9 geïmplementeerde RFC's
  • Delphi 7 tot en met 13 · C++ Builder

Twee componenten, de hele tokenlevenscyclus

sgcAuth is een standalone package. Het levert de sgcWebSockets Core runtime waarop het is gebouwd mee, en elke licentie komt met volledige broncode, zodat de tokenuitwisselingen in je eigen debugger stap voor stap te volgen zijn.

2 Clientcomponenten TsgcHTTP_OAuth2_Client en TsgcHTTP_JWT_Client, op één paletpagina.
9 Geïmplementeerde RFC's OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE en meer.
5 Doelplatforms Windows, macOS, Linux 64-bit, iOS en Android vanuit één broncodeboom.
1 Standalone installer De sgcWebSockets Core runtime en de HTTP/TLS-laag zitten allebei in het pakket.
100% Broncode inbegrepen Elke licentie bevat de volledige broncode van beide componenten en de meegeleverde runtime.
sgcAuth

OAuth2-client, JWT-client en WebAuthn-passkey-ondersteuning voor Delphi en C++ Builder. Een standalone package met de sgcWebSockets Core runtime inbegrepen, volledige broncode, en royaltyvrije implementatie.

Eén component per taak, één API-stijl

Zet een component op een form, stel de providergegevens of sleutelgegevens in, koppel de events, en roep dan Start of Sign aan. De naamgeving is bij beide consistent, dus een authenticatieflow leest hetzelfde, ongeacht welke grant of welk algoritme hij gebruikt.

OAuth2

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. Start opent de systeembrowser en zet een kleine lokale HTTP-server op vanuit LocalServerOptions om de redirect op te vangen, waarna de code via gewone HTTPS wordt ingewisseld voor een token. Refresh, Revoke en Introspect dekken de tokenlevenscyclus daarna, en DPoPOptions voegt proof-of-possession (RFC 9449) toe voor providers die dat vereisen.

Bekijk de OAuth2-client →
JWT

Ondertekenen, koppelen of verifiëren, jouw keuze

TsgcHTTP_JWT_Client ontsluit alles wat RFC 7519 nodig heeft via JWTOptions: de JOSE-Header, de geregistreerde Payload-claims (iss, sub, aud, exp, nbf, iat, jti, plus custom claims), en het sleutelmateriaal voor HMAC, RSA en ECDSA. Roep Sign aan om het token in compact-serialisatie direct terug te krijgen, of stel RefreshTokenAfter in en laat het component automatisch 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.

Bekijk de JWT-client →
WebAuthn

Passkeys, via sgcCustomIndy

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

Bekijk wat het allemaal kan →
Gebruiksscenario's

Aanmelden, serviceaccounts en je eigen API's

Aanmelden met Google of Microsoft, server-naar-server API-toegang, smart-tv's en kiosken, lange sessies zonder opnieuw te vragen, en Bearer-tokens voor je eigen WebSocket- en HTTP-API's. Beide componenten draaien probleemloos binnen een VCL- of FMX-toepassing, een service of een consoleproces.

De feature-matrix →
Cross-platform

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. Van Delphi 7 tot en met RAD Studio 13 en op C++ Builder.

De feature-matrix →

Referentiepagina's voor elk component:

Een token ophalen, een token ondertekenen

Stel de opties in, roep dan een methode aan. Beide componenten compileren in Delphi 7 tot en met 13 en C++ Builder, en dezelfde eigenschappen zijn beschikbaar op .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;   // opent de browser; de redirect komt aan op de lokale 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);

  // of koppel het rechtstreeks aan een WebSocket- / HTTP-client:
  // Client.Authentication.Token.Enabled := True;
  // Client.Authentication.Token.JWT := JWT;
end;

Dezelfde vorm in Object Pascal en in C++ Builder. De volledige feature-matrix →

Drie dingen die je vooraf wilt weten

Wat sgcAuth van jou nodig heeft, of je deze componenten al bezit, en wat WebAuthn daarbovenop nodig heeft. Alle drie de antwoorden zijn kort, en alle drie staan op deze pagina in plaats van in de kleine lettertjes.

Componenten en grants
taak         component                grants / algoritmen
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

al in bezit?
Zowel de OAuth2 Client als de JWT Client zitten in
  sgcWebSockets vanaf de Standard-editie.
sgcAuth is er voor het licentiëren van OAuth2 + JWT
  zonder een volledige sgcWebSockets-editie.

sgcAuth is standalone

Standalone, de sgcWebSockets Core runtime is inbegrepen: de HTTP/TLS-clientstack waar beide componenten hun tokenrequests doorheen POSTen, en de JSON-machinerie die de antwoorden parseert. Eén installer, volledige broncode in de doos.

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. sgcAuth bestaat voor het omgekeerde geval: OAuth2- en JWT-clientondersteuning zonder een volledige sgcWebSockets-editie te licentiëren.

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.

Delphi en C++ Builder

sgcAuth richt zich op Delphi 7 tot en met RAD Studio 13 en C++ Builder. De gratis proefinstaller is de sgcWebSockets All-Access-proefversie, dus beide componenten zijn vandaag al te evalueren.

PKCE Device Code DPoP HMAC · RSA · ECDSA Volledige broncode

Elk component en elke eigenschap →

sgcAuth spreekt de gepubliceerde OAuth2/OIDC- en JWT/JWS-standaarden in plaats van een vendor-SDK in te pakken, dus de provider is jouw keuze: Google, Microsoft, Auth0, Okta, Keycloak, of elke RFC-conforme autorisatieserver. Grants, refresh, revocatie en ondertekening zijn allemaal volwaardige methoden en events, en volledige broncode betekent dat er nergens een black box tussen zit.

Twaalf bibliotheken, één gereedschapskist

sgcAuth is een van de twaalf eSeGeCe-componentenbibliotheken voor Delphi, C++ Builder en .NET. Ze delen dezelfde conventies, worden geleverd met volledige broncode en zijn royaltyvrij te implementeren.

sgcAuth

OAuth2-client, JWT-client en WebAuthn-ondersteuning voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcHTTP

HTTP/2-client, gRPC-client en clients voor Google Cloud Pub/Sub, Calendar en FCM, voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI en 30+ API-integraties voor Delphi, C++ Builder, Lazarus en .NET. Hier zit de Core runtime.

Meer informatie →

sgcMQ

MQTT, AMQP 0.9.1 en 1.0, Apache Kafka en STOMP-clientcomponenten voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcSocial

Telegram- en WhatsApp Business-clientcomponenten voor Delphi en C++ Builder. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcHTML

Server-side HTML- en UI-componenten op Bootstrap 5 en htmx, inclusief een WebAuthn-inlog-UI-component.

Meer informatie →

sgcQUIC

Pure QUIC-transport en een HTTP/3-client en -server, met WebTransport. Een add-on voor sgcWebSockets Enterprise.

Meer informatie →

sgcAI

AI-, LLM- en MCP-componenten voor Delphi en C++ Builder. Zeven LLM-providers achter één component, plus MCP, embeddings en spraak. Standalone, met de sgcWebSockets Core runtime inbegrepen.

Meer informatie →

sgcOpenAPI

OpenAPI 3.x-parser, native Pascal-SDK-generator, OpenAPI-servercomponent, en 1.195+ kant-en-klare cloud-SDK's.

Meer informatie →

sgcSign

XAdES, PAdES, CAdES en ASiC voor documenten, Authenticode, ClickOnce, NuGet en VSIX voor code.

Meer informatie →

sgcBiometrics

Windows Hello, vingerafdruksensoren en het Windows Biometric Framework voor Delphi en C++ Builder.

Meer informatie →

sgcIndy

Bijgewerkte Indy TCP/IP-componenten met moderne TLS, IPv6 en HTTP/2 voor Delphi 7 tot en met 13.

Meer informatie →

Bekijk de prijzen en licenties Download de gratis proefversie

Wat ontwikkelaars zeggen

Vertrouwd door Delphi-, C++ Builder-, Lazarus- en .NET-ontwikkelaars over de hele wereld.

Jullie sgcWebSockets-bibliotheek is erg handig en eenvoudig op te zetten. Ga zo door!

Simone Moretti Delphi-ontwikkelaar

sgcWebSockets is geweldig en jullie support is de beste!

Christian Meyer Oprichter & CTO

Heel erg bedankt voor jullie hulp en ondersteuning, ik ben dol op jullie componenten.

Mark Steinfeld CTO

Je ziet nu de weergave Authenticatie van eSeGeCe.

Toon me een andere invalshoek →

Lever authenticatie, geen tokenbibliotheek

OAuth2 en JWT in één pakket, met de sgcWebSockets Core runtime inbegrepen en volledige broncode in de doos.