sgcAuthOAuth2 en JWT,native in Delphi.Passkeys ook.
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.
sgcAuth-snelstart | onderteken een JWT en valideer hem op de server
OAuth2-clientGrant typesWebAuthn-passkeys
2Clientcomponenten, OAuth2 en JWT, op één palettepagina
9Geïmplementeerde RFC's: OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE en meer
5Doelplatformen: Windows, macOS, Linux 64-bit, iOS en Android
1Zelfstandige installer, met de Core-runtime erin
100%Broncode inbegrepen bij elke licentie
Zie het draaien
Zie sgcAuth in twee minuten.
JWT, OAuth2 en WebAuthn, aan de client- en de serverzijde, vanuit Delphi. Ingesproken en ondertiteld. Er wordt niets gedownload totdat je op afspelen drukt.
sgcAuth-snelstart
Tokens, gedelegeerde autorisatie en passkeys in één pakket.
Drie manieren om te beginnenJWT als je de gebruiker al kent, OAuth2 als een derde partij de identiteit beheert, WebAuthn als er helemaal geen wachtwoord is.
Een JWT ondertekenenStel het algoritme en het geheim in, vul de standaardclaims in en koppel het component daarna als Bearer-token aan een WebSocket- of HTTP-client.
Valideer hem op de serverDe handtekening, exp en nbf worden gecontroleerd, en een verzoek met een ongeldig token bereikt je handler nooit.
OAuth2 in één componentClient-id, provider-URL's, scopes en een grant type. Het opent de browser en draait de lokale redirectserver voor je.
WebAuthn en passkeysRegistratie en assertion aangestuurd door het servercomponent. De privésleutel verlaat het apparaat nooit.
Wat er in het pakket zit
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 Signaan. De naamgeving is bij beide consistent, dus een authenticatieflow leest hetzelfde, ongeacht welke grant of welk algoritme hij gebruikt.
Elk grant type, éé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.
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 eigen 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 en laat het component automatisch opnieuw ondertekenen.
Het JWT-component sluit rechtstreeks aan op Authentication.Token.JWT op TsgcWebSocketClient, TsgcHTTP1Client en TsgcHTTP2Client, zodat elk uitgaand verzoek een vers Bearer-token meestuurt zonder een regel headercode.
Wachtwoordloos aanmelden wordt geleverd door TsgcWSAPIServer_WebAuthn, een sgcWebSockets Enterprise/All-Access-component dat is gebouwd op de gepatchte Indy-bibliotheek die sgcCustomIndy als add-on meelevert. Het is altijd inbegrepen als je sgcAuth bestelt, net als de componenten TOTP, LDAP, SAML, OpenID Connect en Mail OAuth2.
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.
Pure HTTPS en ondertekening, geen native bibliotheek
Geen van beide componenten hangt af 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 draait: Windows, macOS, Linux 64-bit, iOS en Android. Van Delphi 7 tot en met RAD Studio 13 en op C++ Builder.
sgcAuth spreekt de gepubliceerde OAuth2/OIDC- en JWT/JWS-standaarden en verpakt geen SDK van een leverancier, dus de provider kies je zelf: Google, Microsoft, Auth0, Okta, Keycloak of elke RFC-conforme autorisatieserver. Kant-en-klare presets voor Google en Microsoft configureren de gangbare endpoints en scopes voor je.
sgcAuth is een zelfstandig pakket. Het bundelt de sgcWebSockets Core-runtime waarop het is gebouwd, en elke licentie wordt met volledige broncode geleverd, zodat je de tokenuitwisselingen in je eigen debugger kunt doorlopen. Distributie is royaltyvrij.
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; // 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;
Zet een component op een formTsgcHTTP_OAuth2_Client en TsgcHTTP_JWT_Client staan op één palettepagina.
Stel de provider of de sleutel inAutorisatie- en token-URL's, client-id en scopes voor OAuth2. Algoritme, geheim of sleutelpaar en claims voor JWT.
Koppel de eventsOnAfterAccessToken geeft je het token, en de aanroepen voor vernieuwen, intrekken en introspectie volgen hetzelfde patroon.
Roep Start of Sign aanOf geef het JWT-component aan een WebSocket- of HTTP-client en laat het bij elk verzoek een vers Bearer-token meesturen.
Een nadere blik
Drie manieren om te beginnen, één pakket.
Beelden uit de sgcAuth-snelstartvideo.
Ondertekend op de client, gecontroleerd op de server.
De JWT-client ondertekent met HMAC, RSA of ECDSA en reist mee als een Authorization: Bearer -header. Aan de andere kant wordt de handtekening gecontroleerd tegen hetzelfde geheim of dezelfde publieke sleutel, worden verlopen en nog niet geldige tokens geweigerd en bereikt een verzoek met een ongeldig token je handler nooit.
Kies het grant type dat bij de app past.
Authorization Code voor webapps met een back-end, PKCE voor native en mobiele apps, Client Credentials voor machine-naar-machine, Device Code voor tv's en consoles. Vernieuwing, intrekking, introspectie en DPoP worden ook voor je afgehandeld.
Geen wachtwoord en geen gedeeld geheim dat kan lekken.
De server stuurt een willekeurige challenge, de authenticator ondertekent die met de privésleutel en de server controleert hem tegen de opgeslagen publieke sleutel. Een gebruiker meldt zich aan met een passkey, een vingerafdruk of een hardwaresleutel, en de privésleutel verlaat het apparaat nooit.
Voordat je koopt
Vier dingen om eerst te weten.
Wat sgcAuth van jou nodig heeft, of je deze componenten al bezit, wat WebAuthn daarbovenop nodig heeft en op welke IDE's het zich richt. De antwoorden zijn kort en staan op deze pagina in plaats van in de kleine lettertjes.
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 is standaloneDe sgcWebSockets Core-runtime is inbegrepen: de HTTP/TLS-clientstack waarlangs beide componenten hun tokenverzoeken POSTen, en de JSON-machinerie die de antwoorden verwerkt. Eén installer, volledige broncode in de doos.
Al in jouw sgcWebSockets-editie?Beide clients worden meegeleverd in sgcWebSockets vanaf de Standard-editie. sgcAuth bestaat voor het omgekeerde geval: OAuth2- en JWT-clientondersteuning zonder een volledige sgcWebSockets-editie te licentiëren.
WebAuthn heeft sgcCustomIndy nodigTsgcWSAPIServer_WebAuthn is gebouwd op de gepatchte Indy-bibliotheek die sgcCustomIndy als add-on meelevert. Het is altijd inbegrepen als je sgcAuth bestelt, en de getoonde sgcAuth-prijs dekt het al.
Delphi en C++ BuildersgcAuth 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.
Grants, vernieuwing, intrekking en ondertekening zijn allemaal volwaardige methoden en events, en met volledige broncode is niets daartussen een black box. Elk component en elke eigenschap →
Onderdeel van sgcWebSockets
Los gelicentieerd, of al in je editie.
sgcAuth is een pakket uit de sgcWebSockets-familie. Koop het zelfstandig met de Core-runtime erbij, of krijg beide clients met elke sgcWebSockets-editie vanaf Standard.
sgcAuth
De OAuth2- en JWT-clients, zelfstandig, met de sgcWebSockets Core-runtime inbegrepen.
Als je een sgcWebSockets-editie bezit, heb je beide clients al. sgcAuth is voor OAuth2 en JWT zonder een volledige sgcWebSockets-editie te licentiëren.
sgcAuth is een van de componentbibliotheken van eSeGeCe voor Delphi, C++ Builder en .NET. Ze delen conventies, worden met volledige broncode geleverd en zijn royaltyvrij te distribueren.
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid