Delphi OAuth2 İstemcisi
OAuth 2.0 / OAuth 2.1 istemci bileşeni — PKCE ile Authorization Code, Client Credentials, Device Code, refresh-token döndürme ve yerleşik tarayıcı akışı.
OAuth 2.0 / OAuth 2.1 istemci bileşeni — PKCE ile Authorization Code, Client Credentials, Device Code, refresh-token döndürme ve yerleşik tarayıcı akışı.
OAuth 2.0 / 2.1 istemci tarafını uygular — Authorization Code (PKCE ile), Client Credentials, Device Code ve refresh-token akışlarını kapsar. Yönlendirme URI'si için küçük gömülü bir HTTP dinleyicisi içerir.
TsgcHTTP_OAuth2_Client
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
ClientId / ClientSecret / Scope / Endpoints değerlerini yapılandırın (veya Google / Microsoft / GitHub için bir Provider hazır ayarı kullanın), Start çağırın, ardından HTTP çağrılarınızda Token kullanın.
uses
sgcHTTP, sgcHTTP_OAuth_Types;
// OAuth2 is a form field: OAuth2: TsgcHTTP_OAuth2_Client;
procedure TForm1.Authorize;
begin
OAuth2 := TsgcHTTP_OAuth2_Client.Create(nil);
OAuth2.OnAfterAccessToken := OnAfterAccessTokenEvent;
OAuth2.OAuth2Options.GrantType := auth2CodePKCE;
OAuth2.OAuth2Options.ClientId := 'your-client-id';
OAuth2.OAuth2Options.ClientSecret := 'your-client-secret';
OAuth2.AuthorizationServerOptions.AuthURL := 'https://auth.example.com/authorize';
OAuth2.AuthorizationServerOptions.TokenURL := 'https://auth.example.com/token';
OAuth2.AuthorizationServerOptions.Scope.Clear;
OAuth2.AuthorizationServerOptions.Scope.Add('profile');
OAuth2.AuthorizationServerOptions.Scope.Add('email');
OAuth2.LocalServerOptions.IP := '127.0.0.1';
OAuth2.LocalServerOptions.Port := 5555;
OAuth2.LocalServerOptions.RedirectURL := 'http://localhost:5555/callback';
// Spawns the user browser at the auth URL and returns immediately
OAuth2.Start;
end;
// ... the user logs in, the browser is redirected to the callback URL,
// ... the component captures the code and exchanges it for tokens
procedure TForm1.OnAfterAccessTokenEvent(Sender: TObject; const Access_Token,
Token_Type, Expires_In, Refresh_Token, Scope, RawParams: String;
var Handled: Boolean);
begin
ShowMessage(Access_Token);
end;
// uses: sgcHTTP, sgcHTTP_OAuth_Types
TsgcHTTP_OAuth2_Client *OAuth2 = new TsgcHTTP_OAuth2_Client(this);
OAuth2->OnAfterAccessToken = OnAfterAccessTokenEvent;
OAuth2->OAuth2Options->GrantType = auth2CodePKCE;
OAuth2->OAuth2Options->ClientId = "your-client-id";
OAuth2->OAuth2Options->ClientSecret = "your-client-secret";
OAuth2->AuthorizationServerOptions->AuthURL = "https://auth.example.com/authorize";
OAuth2->AuthorizationServerOptions->TokenURL = "https://auth.example.com/token";
OAuth2->AuthorizationServerOptions->Scope->Clear();
OAuth2->AuthorizationServerOptions->Scope->Add("profile");
OAuth2->AuthorizationServerOptions->Scope->Add("email");
OAuth2->LocalServerOptions->IP = "127.0.0.1";
OAuth2->LocalServerOptions->Port = 5555;
OAuth2->LocalServerOptions->RedirectURL = "http://localhost:5555/callback";
OAuth2->Start();
OAuth 2.0 istemci yüzeyini PKCE, refresh-token döndürme ve gömülü bir loopback yönlendirme dinleyicisi ile uygular.
Authorization Code (RFC 7636'ya göre isteğe bağlı PKCE ile), Client Credentials (RFC 6749 §4.4), Device Code (RFC 8628) ve Refresh Token (RFC 6749 §6) tipli metotlar olarak desteklenir.
OAuth2Options.GrantType değerini auth2CodePKCE yapın, bileşen code_verifier / code_challenge çiftini oluşturur ve bunları RFC 7636'ya göre dahil eder (OAuth 2.1'de zorunlu).
Kardeş bileşenler TsgcHTTP_OAuth2_Client_Google ve TsgcHTTP_OAuth2_Client_Microsoft, doğru uç noktalar ve kapsamlar önceden doldurulmuş olarak gelir. Diğer herkes için temel sınıfı kullanın.
Bileşen, yapılandırılan RedirectURL üzerinde küçük gömülü bir HTTP dinleyicisi başlatır, yetkilendirme kodunu yakalar, ardından dinleyiciyi kapatır — harici bir web sunucusu gerekmez.
Yetkilendirmeden sonra CurrentRefreshToken değerini okuyup kendiniz saklayın, sonraki açılışta Refresh çağırın; böylece kullanıcıya yeniden sorulmaz.
Authentication.Token.OAuth aracılığıyla TsgcHTTPClient, TsgcHTTP2Client veya TsgcWebSocketClient ile eşleştirin — bearer token her isteğe otomatik olarak eklenir.
Bu bileşenin uyguladığı standartlar için yetkili kaynaklar.
Bileşen referansına doğrudan bağlanın, kullanıma hazır demo projesini alın ve denemeyi indirin.
| Çevrimiçi Yardım — TsgcHTTP_OAuth2_Client Bu bileşen için tam özellik, metot ve olay referansı. | Aç | |
| Demo Projesi — Demos\20.HTTP_Protocol\02.OAuth2_Authentication Kullanıma hazır örnek proje. sgcWebSockets paketi içinde gelir — aşağıdan denemeyi indirin. | Aç | |
| Teknik Belge (PDF) Delphi ve C++ Builder için özellikler, hızlı başlangıç, kod örnekleri ve birincil kaynak referansları — yalnızca bu bileşen. | Aç | |
| Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz. | Aç |