sgcAuth OAuth2 und JWT, nativ in Delphi. Passkeys auch.

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

  • OAuth2
  • JWT
  • WebAuthn-Passkeys
  • PKCE, Device Code, DPoP
  • Delphi 7 bis 13
  • C++ Builder
  • Voller Quellcode
  • 2Client-Komponenten, OAuth2 und JWT, auf einer Palettenseite
  • 9Umgesetzte RFCs: OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE und mehr
  • 5Zielplattformen: Windows, macOS, Linux 64 Bit, iOS und Android
  • 1Eigenständiger Installer, mit der Core-Runtime darin
  • 100%Quellcode in jeder Lizenz enthalten
Sieh es laufen

Sieh sgcAuth in zwei Minuten.

JWT, OAuth2 und WebAuthn, auf Client- und Serverseite, aus Delphi heraus. Vertont und untertitelt. Nichts wird geladen, bevor du auf Play drückst.

sgcAuth Schnellstart

Token, delegierte Autorisierung und Passkeys in einem Paket.

  1. Drei Wege hineinJWT, wenn du den Benutzer schon kennst, OAuth2, wenn ein Dritter die Identität hält, WebAuthn, wenn es gar kein Passwort gibt.
  2. Ein JWT signierenLege Algorithmus und Secret fest, fülle die Standard-Claims und hänge die Komponente dann als Bearer-Token an einen WebSocket- oder HTTP-Client.
  3. Auf dem Server prüfenDie Signatur, exp und nbf werden geprüft, und eine Anfrage mit ungültigem Token erreicht deinen Handler nie.
  4. OAuth2 in einer KomponenteClient-ID, Anbieter-URLs, Scopes und ein Grant-Typ. Sie öffnet den Browser und betreibt den lokalen Redirect-Server für dich.
  5. WebAuthn und PasskeysRegistrierung und Assertion werden von der Server-Komponente gesteuert. Der private Schlüssel verlässt nie das Gerät.
Was im Paket steckt

Eine Komponente pro Aufgabe, ein API-Stil.

Setze eine Komponente auf ein Formular, trage Anbieter oder Schlüsseldaten ein, verdrahte die Ereignisse und rufe dann Start oder Signauf. Die Benennung ist in beiden einheitlich, sodass ein Authentifizierungsablauf gleich aussieht, egal welchen Grant oder Algorithmus er nutzt.

Jeder Grant-Typ, eine Komponente

TsgcHTTP_OAuth2_Client steuert OAuth2Options.GrantType über auth2Code für vertrauenswürdige serverseitige Apps, auth2CodePKCE für native, mobile und Single-Page-Apps, auth2ClientCredentials für Daemons und Dienstkonten, auth2ResourceOwnerPassword, und auth2DeviceCode (RFC 8628) für Smart-TVs, Kioske und andere eingabebeschränkte Geräte.

Den OAuth2-Client ansehen →

Der gesamte Token-Lebenszyklus

Start öffnet den Systembrowser und startet einen kleinen lokalen HTTP-Server aus LocalServerOptions um die Weiterleitung abzufangen, und tauscht den Code über schlichtes HTTPS gegen ein Token. Refresh, Revoke und Introspect decken danach den Token-Lebenszyklus ab, und DPoPOptions ergänzt Proof-of-Possession (RFC 9449) für Anbieter, die es verlangen.

Lebenszyklus-Methoden →

Signieren, anhängen oder prüfen, du entscheidest

TsgcHTTP_JWT_Client veröffentlicht alles, was RFC 7519 braucht, über JWTOptions: den JOSE Header, die registrierten Payload Claims (iss, sub, aud, exp, nbf, iat, jti, dazu eigene Claims) und das Schlüsselmaterial für HMAC, RSA und ECDSA. Rufe Sign auf, um das Token in kompakter Serialisierung direkt zu erhalten, oder setze RefreshTokenAfter und lass die Komponente automatisch neu signieren.

Den JWT-Client ansehen →

Bei jeder Anfrage ein frisches Bearer-Token

Die JWT-Komponente steckt direkt in Authentication.Token.JWT von TsgcWebSocketClient, TsgcHTTP1Client und TsgcHTTP2Client, sodass jede ausgehende Anfrage ein frisches Bearer-Token trägt, ohne eine Zeile Header-Code.

Den Code ansehen →

Passkeys, über sgcCustomIndy

Passwortlose Anmeldung übernimmt TsgcWSAPIServer_WebAuthn, eine Komponente von sgcWebSockets Enterprise/All-Access, die auf der gepatchten Indy-Bibliothek aufbaut, die sgcCustomIndy als Add-on mitliefert. Sie ist immer enthalten, wenn du sgcAuth bestellst, ebenso die Komponenten für TOTP, LDAP, SAML, OpenID Connect und Mail OAuth2.

Sieh, was sie kann →

Anmeldung, Dienstkonten und deine eigenen APIs

Anmelden mit Google oder Microsoft, Server-zu-Server-API-Zugriff, Smart-TVs und Kioske, lange Sitzungen ohne erneute Abfrage und Bearer-Tokens für deine eigenen WebSocket- und HTTP-APIs. Beide Komponenten laufen problemlos in einer VCL- oder FMX-Anwendung, einem Dienst oder einem Konsolenprozess.

Die Funktionsmatrix →

Reines HTTPS und Signieren, keine native Bibliothek

Keine der Komponenten hängt von mehr ab als dem HTTP-Client-Stack der Core-Runtime und den Krypto-Primitiven der Plattform, daher kompilieren und laufen beide überall, wo Delphi läuft: Windows, macOS, Linux 64 Bit, iOS und Android. Von Delphi 7 bis RAD Studio 13 und auf C++ Builder.

Die Funktionsmatrix →

Jeder Anbieter, Voreinstellungen inklusive

sgcAuth spricht die veröffentlichten OAuth2/OIDC- und JWT/JWS-Standards, statt ein Hersteller-SDK zu kapseln, die Wahl des Anbieters liegt also bei dir: Google, Microsoft, Auth0, Okta, Keycloak oder jeder RFC-konforme Autorisierungsserver. Fertige Voreinstellungen für Google und Microsoft konfigurieren die gängigen Endpunkte und Scopes für dich.

Einrichtung des Anbieters →

Voller Quellcode, lizenzgebührenfrei

sgcAuth ist ein eigenständiges Paket. Es bündelt die sgcWebSockets Core-Runtime, auf der es aufbaut, und jede Lizenz enthält vollen Quellcode, sodass die Token-Austausche in deinem eigenen Debugger durchlaufen werden können. Die Weitergabe ist lizenzgebührenfrei.

Preise ansehen →

Referenzseiten für jede Komponente:

Der Code

Ein Token holen, ein Token signieren.

Konfiguriere die Optionen und rufe dann eine Methode auf. Beide Komponenten kompilieren in Delphi 7 bis 13 und C++ Builder, und dieselben Eigenschaften gibt es unter .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 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 →

  1. Eine Komponente auf ein Formular setzenTsgcHTTP_OAuth2_Client und TsgcHTTP_JWT_Client liegen auf einer Palettenseite.
  2. Anbieter oder Schlüssel festlegenAutorisierungs- und Token-URLs, Client-ID und Scopes für OAuth2. Algorithmus, Secret oder Schlüsselpaar und Claims für JWT.
  3. Ereignisse verdrahtenOnAfterAccessToken liefert dir das Token, und die Aufrufe zum Aktualisieren, Widerrufen und Introspizieren folgen demselben Muster.
  4. Start oder Sign aufrufenOder übergib die JWT-Komponente an einen WebSocket- oder HTTP-Client und lass sie bei jeder Anfrage ein frisches Bearer-Token anhängen.
Ein genauerer Blick

Drei Wege hinein, ein Paket.

Bilder aus dem sgcAuth Schnellstart-Video.

Ein JWT wandert als Bearer-Token von der Client-Komponente zum Server, wo Signatur, exp, nbf, iss und aud geprüft werden

Auf dem Client signiert, auf dem Server geprüft.

Der JWT-Client signiert mit HMAC, RSA oder ECDSA und reist als Authorization: Bearer Header mit. Auf der anderen Seite wird die Signatur gegen dasselbe Secret oder den öffentlichen Schlüssel geprüft, abgelaufene und noch nicht gültige Tokens werden abgelehnt, und eine Anfrage mit ungültigem Token erreicht deinen Handler nie.

Die OAuth2-Grant-Typen in sgcAuth: Authorization Code, Code mit PKCE, Client Credentials, Resource Owner Password und Device Code, mit Aktualisierung, Widerruf, Introspektion und DPoP

Wähle den Grant, der zur App passt.

Authorization Code für Web-Apps mit Back-End, PKCE für native und mobile Apps, Client Credentials für Machine-to-Machine, Device Code für Fernseher und Konsolen. Aktualisierung, Widerruf, Introspektion und DPoP werden ebenfalls für dich erledigt.

Der WebAuthn-Ablauf zwischen Browser, Authenticator und deinem Server: Challenge, Signatur, Prüfung

Kein Passwort und kein geteiltes Secret, das gestohlen werden kann.

Der Server sendet eine zufällige Challenge, der Authenticator signiert sie mit dem privaten Schlüssel, und der Server prüft sie gegen den gespeicherten öffentlichen Schlüssel. Ein Benutzer meldet sich mit einem Passkey, einem Fingerabdruck oder einem Hardware-Schlüssel an, und der private Schlüssel verlässt nie das Gerät.

Vor dem Kauf

Vier Dinge, die du vorher wissen solltest.

Was sgcAuth von dir braucht, ob du diese Komponenten schon besitzt, was WebAuthn zusätzlich braucht und welche IDEs unterstützt werden. Die Antworten sind kurz, und sie stehen auf dieser Seite statt im Kleingedruckten.

job          component                grants / algorithms
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

already 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.
  1. sgcAuth ist eigenständigDie sgcWebSockets Core-Runtime ist enthalten: der HTTP/TLS-Client-Stack, über den beide Komponenten ihre Token-Anfragen per POST senden, und die JSON-Maschinerie, die die Antworten parst. Ein Installer, voller Quellcode in der Box.
  2. Schon in deiner sgcWebSockets-Edition?Beide Clients sind in sgcWebSockets ab der Standard-Edition enthalten. sgcAuth gibt es für den umgekehrten Fall: OAuth2- und JWT-Client-Unterstützung, ohne eine vollständige sgcWebSockets-Edition zu lizenzieren.
  3. WebAuthn braucht sgcCustomIndyTsgcWSAPIServer_WebAuthn baut auf der gepatchten Indy-Bibliothek auf, die sgcCustomIndy als Add-on mitliefert. Sie ist immer enthalten, wenn du sgcAuth bestellst, und der angezeigte sgcAuth-Preis deckt sie bereits ab.
  4. Delphi und C++ BuildersgcAuth unterstützt Delphi 7 bis RAD Studio 13 und C++ Builder. Der kostenlose Test-Installer ist die sgcWebSockets All-Access-Testversion, daher lassen sich beide Komponenten schon heute testen.

Grants, Aktualisierung, Widerruf und Signieren sind vollwertige Methoden und Ereignisse, und voller Quellcode bedeutet, dass dazwischen nichts eine Blackbox ist. Jede Komponente und Eigenschaft →

Teil von sgcWebSockets

Eigenständig lizenziert, oder schon in deiner Edition.

sgcAuth ist ein Paket der sgcWebSockets-Familie. Kaufe es eigenständig mit gebündelter Core-Runtime, oder erhalte beide Clients mit jeder sgcWebSockets-Edition ab Standard.

sgcAuth

Die OAuth2- und JWT-Clients, eigenständig, mit enthaltener sgcWebSockets Core-Runtime.

€298 / Single-Lizenz
  • OAuth2-Client: Authorization Code, PKCE, Client Credentials, Device Code
  • JWT-Client zum Ausstellen, Signieren und Prüfen von Tokens
  • WebAuthn-Passkeys, über sgcCustomIndy (enthalten)
  • TOTP, LDAP, SAML, OpenID Connect und Mail OAuth2, über sgcCustomIndy
  • Voller Quellcode und 1 Jahr Updates
sgcAuth Preise →

Team und Site

Dasselbe Paket, lizenziert für ein ganzes Team oder einen ganzen Standort.

Team €498 Site €798
  • Alles aus der Single-Lizenz
  • Der Anspruch auf die sgcWebSockets Core-Runtime, mit null berechnet
  • sgcCustomIndy, das WebAuthn voraussetzt, immer enthalten
  • Delphi 7 bis 13 und C++ Builder
Lizenzen vergleichen →

sgcWebSockets

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

€380 / Standard
  • Beide Clients ab der Standard-Edition
  • Die Komponenten für WebAuthn, TOTP, LDAP, SAML, OpenID Connect und Mail OAuth2 sind in Enterprise enthalten
  • Hier liegt die Core-Runtime
sgcWebSockets entdecken →

Wenn du eine sgcWebSockets-Edition besitzt, hast du schon beide Clients. sgcAuth ist für OAuth2 und JWT, ohne eine vollständige sgcWebSockets-Edition zu lizenzieren.

Preise und Lizenzen ansehen
REFERENZEN

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

Liefere Authentifizierung aus, nicht nur eine Token-Bibliothek.

OAuth2 und JWT in einem Paket, mit gebündelter sgcWebSockets Core-Runtime und vollem Quellcode in der Box.

Das Ökosystem

Weitere Produkte von eSeGeCe

sgcAuth ist eine der Komponentenbibliotheken von eSeGeCe für Delphi, C++ Builder und .NET. Sie teilen Konventionen, werden mit vollem Quellcode ausgeliefert und lassen sich lizenzgebührenfrei einsetzen.

sgcWebSockets

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

sgcHTTP

HTTP-Server, 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.

sgcREST

REST-Server-, OpenAPI-Server- und OpenAPI-Client-Komponenten für Delphi und C++ Builder. Eigenständig, mit gebündelter sgcWebSockets-Core-Runtime.

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.

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.

sgcSocial

Client-Komponenten für Telegram und WhatsApp Business für Delphi und C++ Builder. Eigenständig, mit gebündelter sgcWebSockets Core-Runtime.

sgcHTML

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

sgcQUIC

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

sgcOpenAPI

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

sgcSign

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

sgcPDF

PDF-Dateien erstellen, bearbeiten, ansehen, signieren, schwärzen und validieren in reinem Object Pascal, ganz ohne DLL. Wird eigenständig lizenziert.

sgcBiometrics

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

Pakete, Add-ons und mehr

Neues aus dem Blog

Alle Beiträge ansehen →

Du siehst gerade die Ansicht sgcAuth von eSeGeCe.

Zeig mir eine andere Perspektive →
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordere innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen