sgcAuthOAuth2 ve JWT,Delphi içinde yerel.Passkey'ler de.
İki bileşen, modern kimlik doğrulamanın token tarafını uygulamanıza taşır. TsgcHTTP_OAuth2_Client Authorization Code, PKCE, Client Credentials, Resource Owner Password ve Device Code akışlarını herhangi bir OAuth2/OIDC sağlayıcısına karşı çalıştırır. TsgcHTTP_JWT_Client JSON Web Token'ları oluşturur, imzalar ve doğrular; tek başına ya da WebSocket ve HTTP istemcileriniz için Bearer token kaynağı olarak. Bağımsız çalışır, sgcWebSockets Core çalışma zamanı dahildir.
sgcAuth hızlı başlangıç | bir JWT imzalayın, sunucuda doğrulayın
OAuth2 istemcisiAkış türleriWebAuthn passkey'leri
2İstemci bileşeni, OAuth2 ve JWT, tek palet sayfasında
9Uygulanan RFC: OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE ve daha fazlası
5Hedef platform: Windows, macOS, Linux 64 bit, iOS ve Android
1Bağımsız kurulum paketi, Core çalışma zamanı içinde
%100Her lisansta kaynak kodu dahil
Çalışırken izleyin
sgcAuth'u iki dakikada görün.
JWT, OAuth2 ve WebAuthn, istemci tarafında ve sunucu tarafında, Delphi'den. Sesli anlatımlı ve altyazılı. Oynat düğmesine basana kadar hiçbir şey indirilmez.
sgcAuth hızlı başlangıç
Tokenlar, yetki devri ve passkey'ler tek pakette.
Üç giriş yoluKullanıcıyı zaten tanıyorsanız JWT, kimliği üçüncü bir taraf tutuyorsa OAuth2, hiç parola yoksa WebAuthn.
Bir JWT imzalayınAlgoritmayı ve gizli anahtarı ayarlayın, standart claim'leri doldurun, ardından bileşeni bir WebSocket veya HTTP istemcisine Bearer token olarak bağlayın.
Sunucuda doğrulayınİmza, exp ve nbf kontrol edilir ve geçersiz token taşıyan bir istek işleyicinize asla ulaşmaz.
Tek bileşende OAuth2İstemci kimliği, sağlayıcı URL'leri, kapsamlar ve bir akış türü. Tarayıcıyı açar ve yerel yönlendirme sunucusunu sizin için çalıştırır.
WebAuthn ve passkey'lerKayıt ve doğrulama sunucu bileşeni tarafından yürütülür. Özel anahtar cihazdan asla çıkmaz.
Pakette neler var
Her iş için bir bileşen, tek bir API stili.
Bir bileşeni forma bırakın, sağlayıcı veya anahtar ayrıntılarını ayarlayın, olayları bağlayın, ardından Start veya Signçağırın. Adlandırma her ikisinde de tutarlıdır; bu nedenle bir kimlik doğrulama akışı hangi akış türünü veya algoritmayı kullanırsa kullansın aynı şekilde okunur.
Her akış türü, tek bir bileşen
TsgcHTTP_OAuth2_Client bileşeni, OAuth2Options.GrantType özelliği üzerinden şu akışları yürütür: auth2Code güvenilir sunucu tarafı uygulamalar için, auth2CodePKCE yerel, mobil ve tek sayfa uygulamalar için, auth2ClientCredentials arka plan servisleri ve servis hesapları için, auth2ResourceOwnerPassword, ve auth2DeviceCode (RFC 8628) akıllı TV'ler, kiosklar ve girişi kısıtlı diğer cihazlar için.
Start sistem tarayıcısını açar ve yönlendirmeyi yakalamak için LocalServerOptions ile yapılandırılan küçük bir yerel HTTP sunucusu ayağa kaldırır; kodu düz HTTPS üzerinden bir token ile değiştirir. Refresh, Revoke ve Introspect yöntemleri bundan sonraki token yaşam döngüsünü kapsar ve DPoPOptions bunu gerektiren sağlayıcılar için sahip olma kanıtı (proof-of-possession, RFC 9449) ekler.
TsgcHTTP_JWT_Client bileşeni RFC 7519'un gerek duyduğu her şeyi JWTOptionsüzerinden sunar: JOSE Header, kayıtlı Payload claim'leri (iss, sub, aud, exp, nbf, iat, jti, ayrıca özel claim'ler) ve HMAC, RSA ve ECDSA için anahtar malzemesi. Doğrudan compact serialization biçimindeki token'ı almak için Sign yöntemini çağırın ya da RefreshTokenAfter değerini ayarlayın ve bileşenin token'ı otomatik olarak yeniden imzalamasına izin verin.
JWT bileşeni doğrudan Authentication.Token.JWT özelliğine takılır; bu özellik şu bileşenlerde bulunur: TsgcWebSocketClient, TsgcHTTP1Client ve TsgcHTTP2Client, böylece giden her istek tek satır başlık kodu yazmadan yeni bir Bearer token taşır.
Parolasız oturum açma TsgcWSAPIServer_WebAuthntarafından sağlanır; bu, sgcCustomIndy'nin eklenti olarak sunduğu yamalı Indy kitaplığı üzerine kurulu bir sgcWebSockets Enterprise/All-Access bileşenidir. sgcAuth sipariş ettiğinizde her zaman dahildir, TOTP, LDAP, SAML, OpenID Connect ve Mail OAuth2 bileşenleri de öyle.
Oturum açma, servis hesapları ve kendi API'leriniz
Google veya Microsoft ile oturum açma, sunucudan sunucuya API erişimi, akıllı TV'ler ve kiosklar, yeniden sormadan uzun oturumlar ve kendi WebSocket ve HTTP API'leriniz için Bearer token'lar. Her iki bileşen de bir VCL veya FMX uygulamasında, bir serviste ya da bir konsol işleminde sorunsuz çalışır.
İki bileşen de Core çalışma zamanının HTTP istemci yığını ve platformun kriptografi ilkellerinin ötesinde hiçbir şeye bağlı değildir; bu yüzden Delphi'nin çalıştığı her yerde derlenir ve çalışır: Windows, macOS, Linux 64 bit, iOS ve Android. Delphi 7'den RAD Studio 13'e ve C++ Builder üzerinde.
sgcAuth, bir üretici SDK'sını sarmalamak yerine yayımlanmış OAuth2/OIDC ve JWT/JWS standartlarıyla konuşur; sağlayıcı seçimi size aittir: Google, Microsoft, Auth0, Okta, Keycloak veya RFC uyumlu herhangi bir yetkilendirme sunucusu. Hazır Google ve Microsoft ayarları yaygın uç noktaları ve kapsamları sizin için yapılandırır.
sgcAuth bağımsız bir pakettir. Üzerine kurulduğu sgcWebSockets Core çalışma zamanını içerir ve her lisans tam kaynak koduyla gelir; böylece token alışverişlerini kendi hata ayıklayıcınızda adım adım izleyebilirsiniz. Dağıtım telifsizdir.
Seçenekleri yapılandırın, ardından bir yöntem çağırın. Her iki bileşen de Delphi 7'den 13'e ve C++ Builder'da derlenir, aynı özellikler .NET üzerinde de sunulur.
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;
Bir bileşeni forma bırakınTsgcHTTP_OAuth2_Client ve TsgcHTTP_JWT_Client tek palet sayfasında yer alır.
Sağlayıcıyı veya anahtarı ayarlayınOAuth2 için yetkilendirme ve token URL'leri, istemci kimliği ve kapsamlar. JWT için algoritma, gizli anahtar veya anahtar çifti ve claim'ler.
Olayları bağlayınOnAfterAccessToken token'ı size verir, yenileme, iptal ve introspect çağrıları aynı kalıbı izler.
Start veya Sign çağırınYa da JWT bileşenini bir WebSocket veya HTTP istemcisine verin ve her isteğe yeni bir Bearer token eklemesine izin verin.
Yakından bakış
Üç giriş yolu, tek paket.
sgcAuth hızlı başlangıç videosundan kareler.
İstemcide imzalanır, sunucuda doğrulanır.
JWT istemcisi HMAC, RSA veya ECDSA ile imzalar ve şu başlık olarak yola çıkar: Authorization: Bearer başlığı. Diğer tarafta imza, aynı gizli anahtara veya genel anahtara karşı kontrol edilir, süresi dolmuş ve henüz geçerli olmayan token'lar reddedilir ve geçersiz token taşıyan bir istek işleyicinize asla ulaşmaz.
Uygulamaya uyan akışı seçin.
Arka ucu olan web uygulamaları için Authorization Code, yerel ve mobil uygulamalar için PKCE, makineden makineye için Client Credentials, TV'ler ve konsollar için Device Code. Yenileme, iptal, introspection ve DPoP da sizin için ele alınır.
Parola yok, sızabilecek paylaşılan sır da yok.
Sunucu rastgele bir challenge gönderir, doğrulayıcı onu özel anahtarla imzalar ve sunucu bunu saklanan genel anahtara karşı kontrol eder. Kullanıcı bir passkey, bir parmak izi veya bir donanım anahtarıyla oturum açar ve özel anahtar cihazdan asla çıkmaz.
Satın almadan önce
Önce bilmeye değer dört şey.
sgcAuth'un sizden ne beklediği, bu bileşenlere zaten sahip olup olmadığınız, WebAuthn için ek olarak neyin gerektiği ve hangi IDE'leri hedeflediği. Yanıtlar kısa ve küçük harflerle yazılmış notlarda değil, bu sayfada.
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 bağımsızdırsgcWebSockets Core çalışma zamanı dahildir: her iki bileşenin token isteklerini POST ettiği HTTP/TLS istemci yığını ve yanıtları ayrıştıran JSON altyapısı. Tek kurulum paketi, kaynak kodunun tamamı kutuda.
sgcWebSockets sürümünüzde zaten var mı?Her iki istemci de sgcWebSockets içinde Standard sürümünden itibaren gelir. sgcAuth bunun tersi durum için vardır: tam bir sgcWebSockets sürümü lisanslamadan OAuth2 ve JWT istemci desteği.
WebAuthn, sgcCustomIndy gerektirirTsgcWSAPIServer_WebAuthn sgcCustomIndy'nin eklenti olarak sunduğu yamalı Indy kitaplığı üzerine kuruludur. sgcAuth sipariş ettiğinizde her zaman dahildir ve gösterilen sgcAuth fiyatı bunu zaten kapsar.
Delphi ve C++ BuildersgcAuth, Delphi 7'den RAD Studio 13'e ve C++ Builder'ı hedefler. Ücretsiz deneme yükleyicisi sgcWebSockets All-Access denemesidir, bu nedenle her iki bileşen de bugün değerlendirilebilir.
Akışlar, yenileme, iptal ve imzalama birinci sınıf yöntemler ve olaylardır, tam kaynak kodu ise arada hiçbir şeyin kara kutu olmadığı anlamına gelir. Tüm bileşenler ve özellikler →
sgcWebSockets'in parçası
Kendi başına lisanslanır ya da sürümünüzde zaten vardır.
sgcAuth, sgcWebSockets ailesinin bir paketidir. Core çalışma zamanı dahil bağımsız olarak satın alın ya da Standard ve üzeri herhangi bir sgcWebSockets sürümüyle her iki istemciyi de edinin.
sgcAuth
OAuth2 ve JWT istemcileri, bağımsız, sgcWebSockets Core çalışma zamanı dahil.
Herhangi bir sgcWebSockets sürümüne sahipseniz her iki istemciye zaten sahipsiniz. sgcAuth, tam bir sgcWebSockets sürümü lisanslamadan OAuth2 ve JWT içindir.
sgcAuth, Delphi, C++ Builder ve .NET için eSeGeCe bileşen kütüphanelerinden biridir. Aynı kuralları paylaşırlar, tam kaynak koduyla gelirler ve telifsiz dağıtılırlar.