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ı.
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ı.
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.
TsgcHTTP_OAuth2_Server_Provider
Windows, macOS, Linux, iOS, Android
Enterprise
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;
Kendi sunucunuzda barındırılan bir yetkilendirme sunucusu — /authorize'dan refresh-token döndürmeye kadar her şey tek bir Delphi bileşeninde.
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.
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.
İ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.
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.
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.
OnLookupClient, OnPersistAuthCode, OnPersistRefreshToken ve benzerleri, sağlayıcıyı FireDAC, SQLite, Redis veya kendi DAL'ınızla desteklemenize olanak tanır.
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_Server_Provider Bu bileşen için tam özellik, metot ve olay referansı. | Aç | |
| 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. | 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ç |