eSeGeCe — Enterprise-Kommunikationskomponenten für Delphi & .NET
IM FOKUS · sgcAuth

OAuth2 und JWT, nativ in Delphi

Zwei Komponenten bringen die Token-Seite moderner Authentifizierung in deine Anwendung für Delphi und C++ Builder. TsgcHTTP_OAuth2_Client beherrscht die Grants Authorization Code, PKCE, Client Credentials, Resource Owner Password und Device Code gegen jeden OAuth2-/OIDC-Anbieter. TsgcHTTP_JWT_Client erstellt, signiert und verifiziert JSON Web Tokens, allein oder als Bearer-Token-Quelle für deine WebSocket- und HTTP-Clients. Eigenständig ist die sgcWebSockets Core Runtime enthalten.

  • 2 Client-Komponenten
  • OAuth2 · JWT · WebAuthn
  • 9 implementierte RFCs
  • Delphi 7 bis 13 · C++ Builder

Zwei Komponenten, der gesamte Token-Lebenszyklus

sgcAuth ist ein eigenständiges Paket. Es bringt die sgcWebSockets Core Runtime mit, auf der es aufbaut, und jede Lizenz wird mit vollständigem Quellcode ausgeliefert, sodass du die Token-Austausche in deinem eigenen Debugger Schritt für Schritt durchgehen kannst.

2 Client-Komponenten TsgcHTTP_OAuth2_Client und TsgcHTTP_JWT_Client, auf einer Palettenseite.
9 Implementierte RFCs OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE und mehr.
5 Zielplattformen Windows, macOS, Linux 64-Bit, iOS und Android aus einem Quellbaum.
1 Eigenständiger Installer Die sgcWebSockets Core Runtime und die HTTP-/TLS-Schicht werden beide im Paket mitgeliefert.
100% Quellcode enthalten Jede Lizenz enthält den vollständigen Quellcode beider Komponenten und der mitgelieferten Runtime.
sgcAuth

OAuth2-Client, JWT-Client und WebAuthn-Passkey-Unterstützung für Delphi und C++ Builder. Ein eigenständiges Paket mit enthaltener sgcWebSockets Core Runtime, vollständigem Quellcode und royaltyfreier Bereitstellung.

Eine Komponente pro Aufgabe, ein API-Stil

Zieh eine Komponente auf ein Formular, hinterlege die Anbieter- oder Schlüsseldetails, verdrahte die Ereignisse und rufe dann Start oder Sign auf. Die Benennung ist bei beiden konsistent, sodass sich ein Authentifizierungsablauf immer gleich liest, welchen Grant oder Algorithmus er auch verwendet.

OAuth2

Fünf Grant-Typen, eine Komponente

TsgcHTTP_OAuth2_Client steuert OAuth2Options.GrantType über auth2Code für vertrauenswürdige serverseitige Anwendungen, auth2CodePKCE für native, mobile und Single-Page-Anwendungen, auth2ClientCredentials für Daemons und Service-Konten, auth2ResourceOwnerPassword sowie auth2DeviceCode (RFC 8628) für Smart-TVs, Kiosksysteme und andere eingabebeschränkte Geräte. Start öffnet den Systembrowser und startet einen kleinen lokalen HTTP-Server aus LocalServerOptions, um die Weiterleitung abzufangen, und tauscht den Code über reines HTTPS gegen ein Token. Refresh, Revoke und Introspect decken danach den restlichen Token-Lebenszyklus ab, und DPoPOptions ergänzt Proof-of-Possession (RFC 9449) für Anbieter, die es verlangen.

Den OAuth2-Client ansehen →
JWT

Signieren, anhängen oder verifizieren, deine Wahl

TsgcHTTP_JWT_Client stellt über JWTOptions alles bereit, was RFC 7519 braucht: den JOSE-Header, die registrierten Payload-Claims (iss, sub, aud, exp, nbf, iat, jti, dazu benutzerdefinierte Claims), und das Schlüsselmaterial für HMAC, RSA und ECDSA. Rufe Sign auf, um das Token in Compact-Serialisierung direkt zurückzubekommen, oder setze RefreshTokenAfter und lass die Komponente automatisch neu signieren. Dieselbe Komponente klinkt sich direkt in Authentication.Token.JWT von TsgcWebSocketClient, TsgcHTTP1Client und TsgcHTTP2Client ein, sodass jede ausgehende Anfrage ein frisches Bearer-Token trägt.

Den JWT-Client ansehen →
WebAuthn

Passkeys, über sgcCustomIndy

Passwortlose Anmeldung wird von TsgcWSAPIServer_WebAuthn bedient, einer sgcWebSockets-Enterprise-/All-Access-Komponente, die auf der gepatchten Indy-Bibliothek aufbaut, die sgcCustomIndy als Add-on liefert. Es wird beim Bestellen von sgcAuth automatisch hinzugefügt.

Sieh, was möglich ist →
Anwendungsfälle

Anmeldung, Service-Konten und deine eigenen APIs

Anmeldung mit Google oder Microsoft, Server-zu-Server-API-Zugriff, Smart-TVs und Kioske, lange Sitzungen ohne erneute Anmeldung und Bearer-Tokens für deine eigenen WebSocket- und HTTP-APIs. Beide Komponenten laufen problemlos innerhalb einer VCL- oder FMX-Anwendung, eines Dienstes oder eines Konsolenprozesses.

Die Funktionsmatrix →
Plattformübergreifend

Reines HTTPS und Signieren, keine native Bibliothek

Keine der beiden Komponenten hängt von mehr ab als dem HTTP-Client-Stack der Core Runtime und den Krypto-Grundfunktionen der Plattform, beide kompilieren und laufen also überall dort, wo Delphi das tut. Von Delphi 7 bis RAD Studio 13 und unter C++ Builder.

Die Funktionsmatrix →

Referenzseiten zu jeder Komponente:

Ein Token holen, ein Token signieren

Konfiguriere die Optionen, dann rufe eine Methode auf. Beide Komponenten kompilieren in Delphi 7 bis 13 und C++ Builder, und dieselben Eigenschaften stehen auch unter .NET zur Verfügung.

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;

Dieselbe Form in Object Pascal und in C++ Builder. Die vollständige Funktionsmatrix →

Drei Dinge, die du vorher wissen solltest

Was sgcAuth von dir braucht, ob du diese Komponenten bereits besitzt, und was WebAuthn zusätzlich benötigt. Alle drei Antworten sind kurz, und alle drei stehen auf dieser Seite statt im Kleingedruckten.

Komponenten und Grants
Aufgabe      Komponente               Grants / Algorithmen
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

schon vorhanden?
Sowohl der OAuth2 Client als auch der JWT Client sind ab
  der Standard-Edition in sgcWebSockets enthalten.
sgcAuth ist zum Lizenzieren von OAuth2 + JWT gedacht,
  ohne eine vollständige sgcWebSockets-Edition.

sgcAuth ist eigenständig

Eigenständig ist die sgcWebSockets Core Runtime enthalten: der HTTP-/TLS-Client-Stack, über den beide Komponenten ihre Token-Anfragen per POST absetzen, und die JSON-Maschinerie, die die Antworten parst. Ein Installer, vollständiger Quellcode im Paket.

Schon in deiner sgcWebSockets-Edition enthalten?

Sowohl der OAuth2 Client als auch der JWT Client sind ab der Standard-Edition in sgcWebSockets enthalten, wenn du also eine sgcWebSockets-Edition besitzt, hast du beide Komponenten bereits. sgcAuth ist für den umgekehrten Fall gedacht: OAuth2- und JWT-Client-Unterstützung, ohne eine vollständige sgcWebSockets-Edition zu lizenzieren.

WebAuthn braucht sgcCustomIndy

Passwortlose Anmeldung mit WebAuthn wird von TsgcWSAPIServer_WebAuthn bedient, einer sgcWebSockets-Enterprise-/All-Access-Komponente, die auf der gepatchten Indy-Bibliothek aufbaut, die sgcCustomIndy als Add-on liefert. WebAuthn erfordert das sgcCustomIndy-Add-on, das beim Bestellen von sgcAuth automatisch hinzugefügt wird. Besitzt du bereits eine sgcCustomIndy-Lizenz? Entferne die automatisch hinzugefügte Position vor dem Checkout aus deinem Warenkorb, in beiden Fällen entstehen keine Zusatzkosten.

Delphi und C++ Builder

sgcAuth richtet sich an Delphi 7 bis RAD Studio 13 und C++ Builder. Der kostenlose Test-Installer ist der sgcWebSockets-All-Access-Test, beide Komponenten lassen sich also schon heute ausprobieren.

PKCE Device Code DPoP HMAC · RSA · ECDSA Vollständiger Quellcode

Jede Komponente und Eigenschaft →

sgcAuth spricht die veröffentlichten OAuth2-/OIDC- und JWT-/JWS-Standards, statt ein Anbieter-SDK zu umhüllen, der Anbieter ist also deine Wahl: Google, Microsoft, Auth0, Okta, Keycloak oder jeder RFC-konforme Autorisierungsserver. Grants, Refresh, Revocation und Signieren sind allesamt erstklassige Methoden und Ereignisse, und vollständiger Quellcode bedeutet, dass nichts dazwischen eine Blackbox ist.

Zwölf Bibliotheken, ein Werkzeugkasten

sgcAuth ist eine von zwölf eSeGeCe-Komponentenbibliotheken für Delphi, C++ Builder und .NET. Sie teilen dieselben Konventionen, werden mit vollständigem Quellcode ausgeliefert und lassen sich royaltyfrei verteilen.

sgcAuth

OAuth2-Client, JWT-Client und WebAuthn-Unterstützung für Delphi und C++ Builder. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcHTTP

HTTP/2-Client, gRPC-Client sowie Clients für Google Cloud Pub/Sub, Calendar und FCM für Delphi und C++ Builder. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, KI und 30+ API-Integrationen für Delphi, C++ Builder, Lazarus und .NET. Hier ist die Core Runtime zu Hause.

Mehr erfahren →

sgcMQ

Client-Komponenten für MQTT, AMQP 0.9.1 und 1.0, Apache Kafka und STOMP für Delphi und C++ Builder. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcSocial

Telegram- und WhatsApp-Business-Client-Komponenten für Delphi und C++ Builder. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcHTML

Serverseitige HTML- und UI-Komponenten auf Bootstrap 5 und htmx, einschließlich einer WebAuthn-Login-UI-Komponente.

Mehr erfahren →

sgcQUIC

Reiner QUIC-Transport und ein HTTP/3-Client und -Server, mit WebTransport. Ein Add-on zu sgcWebSockets Enterprise.

Mehr erfahren →

sgcAI

Komponenten für KI, LLM und MCP für Delphi und C++ Builder. Sieben LLM-Anbieter hinter einer einzigen Komponente, dazu MCP, Embeddings und Sprache. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcOpenAPI

OpenAPI-3.x-Parser, nativer Pascal-SDK-Generator, OpenAPI-Server-Komponente und 1.195+ vorgefertigte Cloud-SDKs.

Mehr erfahren →

sgcSign

XAdES, PAdES, CAdES und ASiC für Dokumente, Authenticode, ClickOnce, NuGet und VSIX für Code.

Mehr erfahren →

sgcBiometrics

Windows Hello, Fingerabdrucksensoren und das Windows Biometric Framework für Delphi und C++ Builder.

Mehr erfahren →

sgcIndy

Aktualisierte Indy-TCP/IP-Komponenten mit modernem TLS, IPv6 und HTTP/2 für Delphi 7 bis 13.

Mehr erfahren →

Preise und Lizenzen ansehen Kostenlose Testversion herunterladen

Was Entwickler sagen

Vertrauen von Delphi-, C++ Builder-, Lazarus- und .NET-Entwicklern weltweit.

Eure sgcWebSockets-Bibliothek ist sehr nützlich und einfach einzurichten. Macht weiter so!

Simone Moretti Delphi-Entwickler

sgcWebSockets ist großartig und euer Support ist der beste!

Christian Meyer Gründer & CTO

Vielen Dank für eure Hilfe und Unterstützung, ich liebe eure Komponenten.

Mark Steinfeld CTO

Du siehst gerade die Ansicht Authentifizierung von eSeGeCe.

Zeig mir eine andere Perspektive →

Authentifizierung ausliefern, keine Token-Bibliothek

OAuth2 und JWT in einem Paket, mit enthaltener sgcWebSockets Core Runtime und vollständigem Quellcode im Lieferumfang.