sgcAuth: OAuth2-, JWT- & WebAuthn-Komponenten für Delphi & C++ Builder
Eigenständiges Produkt OAuth2, JWT & WebAuthn

sgcAuth: OAuth2-, JWT- & WebAuthn-Komponenten für Delphi & C++ Builder

Zwei Client-Komponenten bringen die Token-Seite moderner Authentifizierung in deine Anwendung. TsgcHTTP_OAuth2_Client beherrscht 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. sgcAuth ist eigenständig, es bringt die sgcWebSockets Core Runtime mit, auf der beide Clients aufbauen.

Voller Quellcode
Delphi 7 bis 13 & C++ Builder
Mitgelieferte Runtime sgcWebSockets Core Die HTTP-, TLS- und JSON-Runtime unter beiden Clients
OAuth2 TsgcHTTP_OAuth2_Client
JWT TsgcHTTP_JWT_Client
2 Client-Komponenten Eine Seite auf der Komponentenpalette
9 Implementierte RFCs OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE und mehr
5 Plattformen Windows, macOS, Linux, iOS und Android
100% Quellcode enthalten Beide Clients und die mitgelieferte Core Runtime
12 Monate Updates Jede Version, die veröffentlicht wird, während deine Lizenz aktiv ist

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.

sgcAuth ist in sich geschlossen

Eigenständig ist die sgcWebSockets Core Runtime enthalten: der HTTP/TLS-Client-Stack, über den beide Komponenten ihre Token-Anfragen absetzen, und die JSON-Maschinerie, die die Antworten parst. Eine SKU, ein Installer.

Jeder Lizenz liegt der volle Quellcode bei, du kannst also beide Clients und die Runtime darunter in deinem eigenen Debugger durchsteppen, statt sie in einer Binärdatei verschwinden zu sehen.

Edition-Überschneidung

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. All-Access enthält alles.

sgcAuth ist für den umgekehrten Fall gedacht: Du willst OAuth2- und JWT-Client-Unterstützung in Delphi oder C++ Builder, ohne eine vollständige sgcWebSockets-Edition zu lizenzieren. Prüfe vor dem Kauf, was deine Edition bereits abdeckt.

Add-on erforderlich

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.

Zwei Clients, der gesamte Token-Lebenszyklus

Jede davon ist eine nicht-visuelle Komponente, die du auf ein Formular ziehst oder im Code erzeugst, deklariert unter dem Unit-Präfix sgc und registriert auf der Palettenseite SGC Auth. Setze die Anbieter-Details, verdrahte die Ereignisse und rufe dann Start auf.

OAuth21 Komponente

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. Richte AuthorizationServerOptions auf die Authorize-, Token-, Revocation- und Introspection-Endpunkte des Anbieters aus, und die Komponente erledigt den Rest: Wenn Active/Start den Authorization-Code-Flow ausführt, öffnet sie den Systembrowser und startet einen kleinen lokalen HTTP-Server aus LocalServerOptions, um die Weiterleitung abzufangen, und tauscht den Code über reines HTTPS via HTTPClientOptions gegen ein Token. Refresh, Revoke und Introspect decken danach den restlichen Token-Lebenszyklus ab, und DPoPOptions plus GenerateDPoPKeyPair ergänzen DPoP Proof-of-Possession (RFC 9449) für Anbieter, die es verlangen. Fertige Google- und Microsoft-Presets konfigurieren die gängigen Endpunkte und Scopes für dich.

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

Signieren, anhängen oder verifizieren, deine Wahl

TsgcHTTP_JWT_Client stellt über JWTOptions alles bereit, was RFC 7519 braucht: den JOSE-Header (alg, typ, kid), die registrierten Payload-Claims (iss, sub, aud, exp, nbf, iat, jti, dazu benutzerdefinierte Claims über AddKeyValue) und das Schlüsselmaterial unter Algorithms für HMAC (HS.Secret), RSA (RS.PrivateKey) und ECDSA (ES.PrivateKey). Rufe Sign auf, um das Token in Compact-Serialisierung direkt zurückzubekommen, nützlich für Dienste ohne eingebauten HTTP- oder WebSocket-Client, oder setze RefreshTokenAfter und lass die Komponente iat/exp automatisch aktualisieren und 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, ohne dass du den Header selbst anfasst.

TsgcHTTP_JWT_Client RFC 7519 · JWS · JWE

Authentifizierungsabläufe aus Delphi-Code

Beide Komponenten sind ganz gewöhnliche nicht-visuelle Komponenten, sie fügen sich also in das ein, was deine Anwendung ohnehin schon ist: eine VCL-Desktop-Anwendung, ein Windows-Dienst, ein Linux-Daemon. Das sind die Muster, die Kunden bauen, jeweils der Eigenschaft oder Methode zugeordnet, die sie umsetzt.

Anmeldung mit Google oder Microsoft auth2CodePKCE

Fertige Google- und Microsoft-Presets konfigurieren die Authorize- und Token-Endpunkte sowie die Scopes für dich.

Server-zu-Server-API-Zugriff auth2ClientCredentials

Background-Jobs und Service-Konten authentifizieren sich bei einer API, ohne dass ein Benutzer beteiligt ist.

Smart-TVs, Kioske & IoT-Geräte auth2DeviceCode

Das Gerät zeigt einen kurzen Code, der Nutzer schließt die Anmeldung auf seinem Handy oder Laptop ab.

Lange Sitzungen ohne erneute Anmeldung Refresh

Tausche im Hintergrund ein Refresh-Token gegen ein neues Access-Token, ohne dass der Browser erneut übernehmen muss.

Deine eigenen WebSocket- & HTTP-APIs authentifizieren Authentication.Token.JWT

Der JWT Client signiert Bearer-Tokens für TsgcWebSocketClient, TsgcHTTP1Client und TsgcHTTP2Client automatisch.

Eigenständiges Signieren von Tokens Sign

Erstelle und signiere eine JWT-Zeichenfolge für jede Codebasis, ohne WebSocket- oder HTTP-Komponente.

Eine Browser-Übergabe, eine Signatur und eine mitgelieferte Runtime

OAuth2 und JWT lösen unterschiedliche Probleme, das eine handelt ein Token mit einem entfernten Server aus, das andere signiert eines lokal, und genau das ist der Grund, sie gemeinsam zu bündeln: sgcAuth verbirgt den Unterschied hinter denselben Komponentenkonventionen, während die mitgelieferte sgcWebSockets Core Runtime darunter die Verkabelung übernimmt.

OAuth2 ist eine Browser-Übergabe, dann reines HTTPS

Start öffnet den Systembrowser (oder übergibt bei Device Code den anzuzeigenden Benutzercode), und ein lokaler HTTP-Listener aus LocalServerOptions fängt die Authorization-Weiterleitung ab. Der Austausch gegen das Access-Token ist ein reiner HTTPS-POST über HTTPClientOptions, auf dem HTTP-Client-Stack der Core Runtime.

JWT ist Signieren, nicht Netzwerk

TsgcHTTP_JWT_Client öffnet nie einen Socket. JWTOptions konfiguriert Header, Payload und Schlüsselmaterial, und Sign liefert das Token in Compact-Serialisierung zurück, HMAC, RSA oder ECDSA, bereit, an jede von deinem eigenen Code gesendete Anfrage angehängt zu werden.

Die Core Runtime ist im Lieferumfang

Eigenständig ist die sgcWebSockets Core Runtime enthalten. Sie steuert den HTTP/TLS-Client-Stack bei, über den beide Komponenten ihre Anfragen absetzen, sowie den JSON-Parser, der die Antworten liest, und ihr voller Quellcode ist Teil des Pakets wie alles andere.

WebAuthn ist das dritte Stück, über sgcCustomIndy

Passwortlose Anmeldung wird von TsgcWSAPIServer_WebAuthn gesteuert, einer sgcWebSockets-Enterprise-/All-Access-Server-Komponente, die den gepatchten Indy-Build braucht, den sgcCustomIndy liefert. Das Bestellen von sgcAuth fügt sgcCustomIndy automatisch zu deinem Warenkorb hinzu.

Ein Token holen, ein Token signieren

Beide Komponenten folgen demselben Muster: Optionen konfigurieren, dann eine Methode aufrufen. Sie kompilieren in Delphi 7 bis 13 und C++ Builder, und dieselben Eigenschaften sind unter .NET verfügbar.

uses
  sgcHTTP_OAuth2_Client, sgcHTTP_JWT_Client;

var
  OAuth2: TsgcHTTP_OAuth2_Client;
  JWT: TsgcHTTP_JWT_Client;
begin
  // OAuth2: Authorization Code Grant with 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;   // opens the browser; the redirect lands on the local server

  // JWT: sign a token for your own 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;

Dieselbe JWT-Komponente hängt sich direkt an einen WebSocket- oder HTTP-Client: Setze Client.Authentication.Token.Enabled := True und Client.Authentication.Token.JWT := JWT, und jede Anfrage geht mit einem frischen Bearer-Token hinaus.

// include: sgcHTTP_OAuth2_Client.hpp, sgcHTTP_JWT_Client.hpp

// OAuth2: Authorization Code Grant with 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();   // opens the browser; the redirect lands on the local server

// JWT: sign a token for your own 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.");
}

Dieselbe JWT-Komponente hängt sich direkt an einen WebSocket- oder HTTP-Client: Setze Client->Authentication->Token->Enabled = true und Client->Authentication->Token->JWT = JWT, und jede Anfrage geht mit einem frischen Bearer-Token hinaus.

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.

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-Unterstützung Ein Quellbaum, Designtime-Pakete je Version
Delphi 7 bis 13 C++ Builder
Trial-Installer Der All-Access-Trial von sgcWebSockets enthält die Auth-Komponenten
Ein Download, beide Komponenten

Lade den Trial-Installer herunter →

Ein eigenständiges Paket

sgcAuth wird eigenständig lizenziert, ab €149 für einen einzelnen Entwickler. Alle Lizenzen enthalten den vollen Quellcode, 1 Jahr Updates und 50% bis 70% Verlängerungsrabatt: 50%, wenn du ein Paket verlängerst, 60% bei zwei, 70% bei drei oder mehr. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth und sgcHTTP zählen jeweils als ein Paket.

sgcAuth

€149

Single-, Team- und Site-Lizenzen verfügbar.

  • OAuth2-Client: Authorization Code, PKCE, Client Credentials, Device Code
  • JWT-Client zum Ausstellen, Signieren & Verifizieren von Tokens
  • WebAuthn-Passkeys, über sgcCustomIndy (automatisch hinzugefügt)
  • sgcWebSockets Core Runtime enthalten
  • Delphi 7 bis 13 & C++ Builder
  • Vollständiger Quellcode
  • 1 Jahr Updates

sgcAuth enthält die sgcWebSockets Core Runtime, für den OAuth2- und den JWT-Client musst du also nichts weiter kaufen.

An der Kasse erscheinen zwei Positionen: die Berechtigung für die sgcWebSockets Core Runtime, die mit null berechnet wird, und das sgcAuth-Paket selbst. sgcCustomIndy wird für WebAuthn automatisch hinzugefügt, entferne es, falls du bereits eine Lizenz besitzt. Alle Preisdetails.

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordern Sie innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen

Authentifizierung ausliefern, keine Token-Bibliothek

OAuth2 und JWT aus nativem Delphi- und C++-Builder-Code, mit enthaltener Runtime und vollständigem Quellcode im Lieferumfang. Lade den All-Access-Trial-Installer herunter und ziehe noch heute beide Komponenten auf ein Formular.

Weitere Produkte von eSeGeCe

Kombiniere sgcAuth mit unseren anderen Komponentenbibliotheken für Delphi, C++ Builder und .NET.

sgcWebSockets

Die vollständige Bibliothek: WebSocket-Clients und -Server, HTTP/2, IoT, P2P und KI-Komponenten. Ihre Editionen enthalten auch den OAuth2- und den JWT-Client.

Mehr erfahren →

sgcCustomIndy

Die angepasste Indy-Bibliothek, auf der sgcWebSockets Enterprise aufbaut, verpackt als Add-on. Erforderlich für WebAuthn, wird sgcAuth-Bestellungen automatisch hinzugefügt.

Mehr erfahren →

sgcAI

Komponenten für KI, LLM und MCP. Eine Chat-Komponente erreicht OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok und Mistral.

Mehr erfahren →

sgcMQ

Native Client-Komponenten für MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka und STOMP, mit enthaltener Core Runtime.

Mehr erfahren →

sgcSocial

WhatsApp Business Cloud API und Telegram TDLib Client-Komponenten, mit enthaltener Core Runtime.

Mehr erfahren →

sgcHTML

Datensensitive serverseitige HTML- und UI-Komponenten für Delphi, C++ Builder und .NET, mit Bootstrap 5 und htmx, einschließlich einer WebAuthn-Login-UI-Komponente.

Mehr erfahren →