sgcAuth: Delphi ve C++ Builder için OAuth2, JWT ve WebAuthn Bileşenleri
Bağımsız ürün OAuth2, JWT & WebAuthn

sgcAuth: Delphi ve C++ Builder için OAuth2, JWT ve WebAuthn Bileşenleri

İki istemci bileşeni, modern kimlik doğrulamanın token tarafını uygulamanıza taşır. TsgcHTTP_OAuth2_Client, herhangi bir OAuth2/OIDC sağlayıcısına karşı Authorization Code, PKCE, Client Credentials, Resource Owner Password ve Device Code akışlarını çalıştırır. TsgcHTTP_JWT_Client, JSON Web Token'ları tek başına ya da WebSocket ve HTTP istemcileriniz için Bearer token kaynağı olarak oluşturur, imzalar ve doğrular. sgcAuth bağımsızdır, her iki istemcinin de üzerine kurulduğu sgcWebSockets Core çalışma zamanını içerir.

Tam kaynak kodu
Delphi 7'den 13'e & C++ Builder
Pakete dahil çalışma zamanı sgcWebSockets Core Her iki istemcinin de altındaki HTTP, TLS ve JSON çalışma zamanı
OAuth2 TsgcHTTP_OAuth2_Client
JWT TsgcHTTP_JWT_Client
2 İstemci bileşeni Bileşen paletinde tek bir sayfa
9 Uygulanan RFC OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE ve daha fazlası
5 Platform Windows, macOS, Linux, iOS ve Android
100% Kaynak kodu dahil Her iki istemci ve pakete dahil Core çalışma zamanı
12 Ay güncelleme Lisansınız aktifken yayımlanan her sürüm

Önce Bilmeye Değer Üç Şey

sgcAuth'un sizden ne istediği, bu bileşenlere zaten sahip olup olmadığınız ve WebAuthn'in üstüne ne gerektirdiği. Üç yanıt da kısa.

sgcAuth kendi kendine yeter

Bağımsız olarak, sgcWebSockets Core çalışma zamanı pakete dahildir: her iki bileşenin de token isteklerini POST ettiği HTTP/TLS istemci yığını ve yanıtları ayrıştıran JSON altyapısı. Tek SKU, tek kurulum paketi.

Her lisansla birlikte tam kaynak kodu gelir, böylece her iki istemci ve altlarındaki çalışma zamanı bir ikili dosyanın içinde kaybolmak yerine kendi hata ayıklayıcınızda adım adım izlenir.

Sürüm örtüşmesi

sgcWebSockets sürümünüzde zaten var mı?

Hem OAuth2 Client hem de JWT Client, sgcWebSockets içinde Standard sürümünden itibaren gelir; bu yüzden herhangi bir sgcWebSockets sürümüne sahipseniz her iki bileşene de zaten sahipsinizdir. All-Access her şeyi içerir.

sgcAuth, tam tersi durum için vardır: tam bir sgcWebSockets sürümü lisanslamadan Delphi veya C++ Builder'da OAuth2 ve JWT istemci desteği istiyorsunuz. Satın almadan önce sürümünüzün zaten neyi kapsadığını kontrol edin.

Eklenti gerekli

WebAuthn, sgcCustomIndy gerektirir

WebAuthn ile parolasız oturum açma, sgcCustomIndy'nin eklenti olarak sunduğu yamalanmış Indy kitaplığı üzerine kurulu bir sgcWebSockets Enterprise/All-Access bileşeni olan TsgcWSAPIServer_WebAuthn tarafından sağlanır. WebAuthn, sgcCustomIndy eklentisini gerektirir; sgcAuth sipariş edildiğinde bu otomatik olarak eklenir.

Zaten bir sgcCustomIndy lisansına mı sahipsiniz? Ödeme öncesi sepetinizden otomatik eklenen satırı kaldırın, her iki durumda da ek ücret yoktur.

İki İstemci, Tüm Token Yaşam Döngüsü

Her biri, bir forma bırakabileceğiniz ya da kodda oluşturabileceğiniz görsel olmayan bir bileşendir; sgc önekiyle tanımlanır ve SGC Auth palet sayfasında kayıtlıdır. Sağlayıcı bilgilerini ayarlayın, olayları bağlayın, ardından Start'ı çağırın.

OAuth21 bileşen

Beş akış tipi, tek bileşen

TsgcHTTP_OAuth2_Client, OAuth2Options.GrantType'ı; güvenilir sunucu taraflı uygulamalar için auth2Code, yerel, mobil ve tek sayfa uygulamalar için auth2CodePKCE, daemon'lar ve servis hesapları için auth2ClientCredentials, auth2ResourceOwnerPassword ve akıllı TV'ler, kiosklar ve diğer girdi kısıtlı cihazlar için auth2DeviceCode (RFC 8628) üzerinden çalıştırır. AuthorizationServerOptions'ı sağlayıcının authorize, token, revocation ve introspection uç noktalarına yönlendirin; bileşen gerisini halleder: Active/Start çalıştığında Authorization Code akışı, sistem tarayıcısını açar ve yönlendirmeyi yakalamak için LocalServerOptions'tan küçük bir yerel HTTP sunucusu ayağa kaldırır, kodu HTTPClientOptions üzerinden düz HTTPS ile token ile değiştirir. Bundan sonra token yaşam döngüsünü Refresh, Revoke ve Introspect kapsar; DPoPOptions ve GenerateDPoPKeyPair ise bunu gerektiren sağlayıcılar için DPoP proof-of-possession (RFC 9449) ekler. Hazır Google ve Microsoft ön ayarları, yaygın uç noktaları ve kapsamları sizin için yapılandırır.

TsgcHTTP_OAuth2_Client RFC 6749 · PKCE · Device Code · DPoP
JWT1 bileşen

İmzalayın, ekleyin ya da doğrulayın, seçim sizin

TsgcHTTP_JWT_Client, RFC 7519'un ihtiyaç duyduğu her şeyi JWTOptions üzerinden yayınlar: JOSE Header (alg, typ, kid), kayıtlı Payload talepleri (iss, sub, aud, exp, nbf, iat, jti, artı AddKeyValue üzerinden özel talepler) ve HMAC (HS.Secret), RSA (RS.PrivateKey) ve ECDSA (ES.PrivateKey) için Algorithms altındaki anahtar malzemesi. Yerleşik HTTP ya da WebSocket istemcisi olmayan hizmetler için doğrudan compact-serialization token'ı geri almak üzere Sign'ı çağırın, ya da RefreshTokenAfter'ı ayarlayın ve bileşenin iat/exp'i otomatik olarak yenileyip yeniden imzalamasına izin verin. Aynı bileşen, TsgcWebSocketClient, TsgcHTTP1Client ve TsgcHTTP2Client üzerindeki Authentication.Token.JWT'ye doğrudan takılır; böylece giden her istek, siz başlığa dokunmadan taze bir Bearer token taşır.

TsgcHTTP_JWT_Client RFC 7519 · JWS · JWE

Delphi Kodundan Kimlik Doğrulama Akışları

Her iki bileşen de sıradan, görsel olmayan bileşenlerdir; bu yüzden uygulamanız her ne ise onun içine yerleşirler: bir VCL masaüstü uygulaması, bir Windows hizmeti, bir Linux daemon'u. Bunlar müşterilerin oluşturduğu kalıplardır, her biri onu yönlendiren özellik ya da metotla eşleştirilmiştir.

Google veya Microsoft ile oturum açma auth2CodePKCE

Hazır Google ve Microsoft ön ayarları, authorize ve token uç noktalarını ve kapsamları sizin için yapılandırır.

Sunucudan sunucuya API erişimi auth2ClientCredentials

Arka plan işleri ve servis hesapları, aradan bir kullanıcı geçmeden bir API'ye kimlik doğrular.

Akıllı TV'ler, kiosklar & IoT cihazları auth2DeviceCode

Cihaz kısa bir kod gösterir, kullanıcı oturum açmayı telefonunda veya dizüstü bilgisayarında tamamlar.

Yeniden yönlendirmeden uzun oturumlar Refresh

Bir yenileme token'ını arka planda yeni bir erişim token'ı ile değiştirin, tarayıcıya geçiş gerekmez.

Kendi WebSocket & HTTP API'lerinizde kimlik doğrulayın Authentication.Token.JWT

JWT Client, TsgcWebSocketClient, TsgcHTTP1Client ve TsgcHTTP2Client için Bearer token'ları otomatik olarak imzalar.

Bağımsız token imzalama Sign

Herhangi bir kod tabanı için bir JWT dizesi oluşturun ve imzalayın, WebSocket veya HTTP bileşeni gerekmez.

Bir Tarayıcı Devri, Bir İmza ve Pakete Dahil Bir Çalışma Zamanı

OAuth2 ve JWT farklı sorunları çözer, biri uzak bir sunucuyla bir token üzerinde anlaşır, diğeri yerel olarak birini imzalar; ikisini birlikte paketlemenin amacı da tam olarak budur: sgcAuth bu farkı aynı bileşen kurallarının arkasına gizler, alt tesisat işini ise pakete dahil sgcWebSockets Core çalışma zamanı yapar.

OAuth2 bir tarayıcı devridir, ardından düz HTTPS

Start, sistem tarayıcısını açar (ya da Device Code için, görüntülemeniz gereken kullanıcı kodunu size verir) ve LocalServerOptions'tan bir yerel HTTP dinleyicisi yetkilendirme yönlendirmesini yakalar. Erişim token'ı için değişim, HTTPClientOptions üzerinden, Core çalışma zamanının HTTP istemci yığınında verilen düz bir HTTPS POST'tur.

JWT imzalamadır, ağ işi değil

TsgcHTTP_JWT_Client asla bir soket açmaz. JWTOptions, başlığı, yükü ve anahtar malzemesini yapılandırır; Sign ise compact-serialization token'ı döndürür, HMAC, RSA veya ECDSA, kendi kodunuzun gönderdiği herhangi bir isteğe eklenmeye hazır.

Core çalışma zamanı kutudadır

Bağımsız olarak, sgcWebSockets Core çalışma zamanı pakete dahildir. Her iki bileşenin de POST işlemi yaptığı HTTP/TLS istemci yığınını ve yanıtları okuyan JSON ayrıştırıcısını sağlar; tam kaynak kodu da her şey gibi paketin bir parçasıdır.

WebAuthn üçüncü parçadır, sgcCustomIndy üzerinden

Parolasız oturum açma, sgcCustomIndy'nin sunduğu yamalanmış Indy derlemesine ihtiyaç duyan bir sgcWebSockets Enterprise/All-Access sunucu bileşeni olan TsgcWSAPIServer_WebAuthn tarafından ele alınır. sgcAuth sipariş etmek, sgcCustomIndy'yi otomatik olarak sepetinize ekler.

Bir Token Alın, Bir Token İmzalayın

Her iki bileşen de aynı şekli izler: seçenekleri yapılandırın, ardından bir metot çağırın. Delphi 7'den 13'e ve C++ Builder'da derlenirler, aynı özellikler .NET'te de sunulur.

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;

Aynı JWT bileşeni doğrudan bir WebSocket veya HTTP istemcisine eklenir: Client.Authentication.Token.Enabled := True ve Client.Authentication.Token.JWT := JWT'yi ayarlayın, böylece her istek taze bir Bearer token ile gider.

// 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.");
}

Aynı JWT bileşeni doğrudan bir WebSocket veya HTTP istemcisine eklenir: Client->Authentication->Token->Enabled = true ve Client->Authentication->Token->JWT = JWT'yi ayarlayın, böylece her istek taze bir Bearer token ile gider.

Saf HTTPS ve İmzalama, Yerel Kitaplık Yok

Hiçbir bileşen, Core çalışma zamanının HTTP istemci yığını ve platformun kripto ilkellerinin ötesinde bir şeye bağımlı değildir; bu yüzden ikisi de Delphi'nin çalıştığı her yerde derlenir ve çalışır.

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 desteği Tek kaynak ağacı, sürüm başına tasarım zamanı paketleri
Delphi 7'den 13'e C++ Builder
Deneme kurulum paketi sgcWebSockets All-Access deneme sürümü, Auth bileşenlerini içerir
Tek indirme, iki bileşen

Deneme kurulum paketini indirin →

Bağımsız Bir Paket

sgcAuth kendi başına lisanslanır, tek bir geliştirici için €149 fiyatından başlar. Tüm lisanslar tam kaynak kodunu, 1 yıllık güncellemeleri ve 50% ile 70% arasında bir yenileme indirimi içerir: Tek bir paketi yenilediğinizde 50%, iki pakette 60%, üç veya daha fazla pakette 70% indirim uygulanır. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth ve sgcHTTP ürünlerinin her biri ayrı bir paket sayılır.

sgcAuth

€149

Single, Team ve Site lisansları mevcuttur.

  • OAuth2 istemcisi: Authorization Code, PKCE, Client Credentials, Device Code
  • Token'ları oluşturmak, imzalamak & doğrulamak için JWT istemcisi
  • WebAuthn passkey'leri, sgcCustomIndy aracılığıyla (otomatik eklenir)
  • sgcWebSockets Core çalışma zamanı dahil
  • Delphi 7'den 13'e & C++ Builder
  • Tam kaynak kodu
  • 1 yıl güncelleme

sgcAuth, sgcWebSockets Core çalışma zamanını içerir, bu yüzden OAuth2 ve JWT istemcileri için satın alınacak başka hiçbir şey yoktur.

Ödeme sayfasında iki kalem listelenir: sıfır ücretlendirilen sgcWebSockets Core çalışma zamanı hakkı ve sgcAuth paketinin kendisi. WebAuthn için sgcCustomIndy otomatik olarak eklenir, zaten sahipseniz kaldırın. Tüm fiyatlandırma ayrıntıları.

3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

Bir Token Kitaplığı Değil, Kimlik Doğrulama Gönderin

Yerel Delphi ve C++ Builder kodundan OAuth2 ve JWT; çalışma zamanı pakete dahil ve kutuda tam kaynak kodu. All-Access deneme kurulum paketini indirin ve her iki bileşeni bugün bir forma bırakın.

eSeGeCe'nin Diğer Ürünleri

sgcAuth'u diğer Delphi, C++ Builder ve .NET bileşen kitaplıklarımızla eşleştirin.

sgcWebSockets

Kitaplığın tamamı: WebSocket istemcileri ve sunucuları, HTTP/2, IoT, P2P ve yapay zeka bileşenleri. Sürümleri OAuth2 ve JWT istemcilerini de içerir.

Daha fazla bilgi →

sgcCustomIndy

sgcWebSockets Enterprise'ın üzerine kurulduğu özel Indy kitaplığı, bir eklenti olarak paketlenmiştir. WebAuthn için gereklidir, sgcAuth siparişlerine otomatik olarak eklenir.

Daha fazla bilgi →

sgcAI

Yapay zeka, LLM ve MCP bileşenleri. Tek bir sohbet bileşeni OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok ve Mistral'a erişir.

Daha fazla bilgi →

sgcMQ

Yerel MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka ve STOMP istemci bileşenleri; Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcSocial

WhatsApp Business Cloud API ve Telegram TDLib istemci bileşenleri; Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcHTML

Delphi, C++ Builder ve .NET için Bootstrap 5 ve htmx ile veriye duyarlı sunucu tarafı HTML/arayüz bileşenleri, WebAuthn login arayüz bileşeni dahil.

Daha fazla bilgi →