OAuth 2.0 Sağlayıcısı

Kendi OAuth 2.0 yetkilendirme sunucunuzu Delphi'de kurun. PKCE, imzalı JWT erişim token'ları ve takılabilir depolama ile authorize, token, refresh ve revoke uç noktaları.

TsgcHTTP_OAuth2_Server_Provider

Tam OAuth 2.0 yetkilendirme sunucusu uygulaması: istemcileri kaydeder, yetkilendirme kodları verir, bunları erişim + refresh token'larıyla değiştirir, JWT'leri imzalar ve PKCE, refresh döndürme ile iptali destekler.

Bileşen sınıfı

TsgcHTTP_OAuth2_Server_Provider

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Enterprise

Bırakın, istemcileri yapılandırın, çalıştırın

Bir TsgcHTTP_OAuth2_Server_Provider bırakın, client_id'lerinizi ve redirect_uri'lerinizi kaydedin, TsgcWebSocketHTTPServer'a ekleyin — standart uç noktalar (/authorize, /token, /revoke) kullanılabilir hale gelir.

uses
  sgcWebSocket, sgcHTTP;

var
  Server: TsgcWebSocketHTTPServer;
  Provider: TsgcHTTP_OAuth2_Server_Provider;
begin
  Provider := TsgcHTTP_OAuth2_Server_Provider.Create(nil);
  Provider.ProviderOptions.AuthorizationEndpoint := '/oauth/authorize';
  Provider.ProviderOptions.TokenEndpoint         := '/oauth/token';
  Provider.ProviderOptions.RevocationEndpoint    := '/oauth/revoke';
  Provider.ProviderOptions.PKCE.Required := True;

  Provider.OnAuthorizeRequest := procedure(Sender: TObject;
    const aRequest: TsgcOAuth2_AuthorizeRequest;
    var aResponse: TsgcOAuth2_AuthorizeResponse)
  begin
    // validate user session, issue or deny the auth code
    aResponse.Code := GenerateAuthCode(aRequest.ClientId, aRequest.UserId);
  end;

  Server := TsgcWebSocketHTTPServer.Create(nil);
  Server.Port := 8443;
  Server.SSL  := True;
  Server.OAuth2.Provider := Provider;
  Server.Active := True;
end;
// uses: sgcWebSocket, sgcHTTP
TsgcHTTP_OAuth2_Server_Provider *Provider = new TsgcHTTP_OAuth2_Server_Provider(this);
Provider->ProviderOptions->AuthorizationEndpoint = "/oauth/authorize";
Provider->ProviderOptions->TokenEndpoint        = "/oauth/token";

TsgcWebSocketHTTPServer *Server = new TsgcWebSocketHTTPServer(this);
Server->OAuth2->Provider = Provider;
Server->Active = true;

İçeriğinde neler var

Kendi sunucunuzda barındırılan bir yetkilendirme sunucusu — /authorize'dan refresh-token döndürmeye kadar her şey tek bir Delphi bileşeninde.

Authorize uç noktası

GET /authorize isteklerini işler, response_type, client_id ve redirect_uri değerlerini doğrular, ardından kullanıcı oturumu giriş arayüzünüz için OnAuthorizeRequest tetikler.

Token uç noktası

POST /token, authorization_code, refresh_token ve client_credentials izinleri için erişim + refresh token'ları verir. PKCE code_verifier RFC 7636'ya göre doğrulanır.

JWT ile imzalı erişim token'ları

İsteğe bağlı olarak kendi kendine yeterli JWT erişim token'ları (HS veya RS / ES) verin, böylece kaynak sunucular bir introspection gidiş-dönüşü olmadan doğrulayabilir.

Refresh-token döndürme

ProviderOptions.RefreshToken.Rotation etkinleştirildiğinde, her yenileme yeni bir refresh-token verir ve öncekini geçersiz kılar — OAuth 2.1 en iyi uygulamasıyla uyumludur.

Revocation uç noktası

POST /revoke, RFC 7009'a göre bir erişim veya refresh token'ı geçersiz kılar — hem Bearer hem de client_credentials iptallerini onurlandırır.

Takılabilir depolama

OnLookupClient, OnPersistAuthCode, OnPersistRefreshToken ve benzerleri, sağlayıcıyı FireDAC, SQLite, Redis veya kendi DAL'ınızla desteklemenize olanak tanır.

Spesifikasyonlar ve referanslar

Bu bileşenin uyguladığı standartlar için yetkili kaynaklar.

Belgeler ve Demolar

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_Server_Provider Bu bileşen için tam özellik, metot ve olay referansı.
Demo Projesi — Demos\20.HTTP_Protocol\08.OAuth2_ServerProvider Kullanıma hazır örnek proje. sgcWebSockets paketi içinde gelir — aşağıdan denemeyi indirin.
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.
Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz.

Kendi OAuth 2.0 Sağlayıcınızı Çalıştırmaya Hazır mısınız?

Ücretsiz denemeyi indirin ve Delphi'de bir OAuth 2.0 yetkilendirme sunucusu kurun.