sgcAuthOAuth2 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.
sgcAuth Schnellstart | ein JWT signieren, auf dem Server prüfen
OAuth2-ClientGrant-TypenWebAuthn-Passkeys
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.
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.
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.
Auf dem Server prüfenDie Signatur, exp und nbf werden geprüft, und eine Anfrage mit ungültigem Token erreicht deinen Handler nie.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 serverend;
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;
Eine Komponente auf ein Formular setzenTsgcHTTP_OAuth2_Client und TsgcHTTP_JWT_Client liegen auf einer Palettenseite.
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.
Ereignisse verdrahtenOnAfterAccessToken liefert dir das Token, und die Aufrufe zum Aktualisieren, Widerrufen und Introspizieren folgen demselben Muster.
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.
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.
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.
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_ClientCode, PKCE, Client Credentials,Resource Owner Password, Device Code
JWT TsgcHTTP_JWT_ClientHS256/384/512, RS256/384/512, ES256/384/512already 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.
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.
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.
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.
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.
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
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.
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.
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordere innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen