Provider OAuth 2.0
Avvia il tuo authorization server OAuth 2.0 in Delphi. Endpoint authorize, token, refresh e revoke con PKCE, access token JWT firmati e storage pluggabile.
Avvia il tuo authorization server OAuth 2.0 in Delphi. Endpoint authorize, token, refresh e revoke con PKCE, access token JWT firmati e storage pluggabile.
Implementazione completa di un authorization server OAuth 2.0: registra i client, emette authorization code, li scambia per access + refresh token, firma i JWT e supporta PKCE, rotazione dei refresh token e revoca.
TsgcHTTP_OAuth2_Server_Provider
Windows, macOS, Linux, iOS, Android
Enterprise
Trascina un TsgcHTTP_OAuth2_Server_Provider, registra i tuoi client_id e redirect_uri, collegalo a TsgcWebSocketHTTPServer — gli endpoint standard (/authorize, /token, /revoke) diventano disponibili.
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
// convalida la sessione utente, emetti o nega l'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;
Un authorization server self-hosted — tutto, da /authorize alla rotazione dei refresh token, in un unico componente Delphi.
Gestisce le richieste GET /authorize, valida response_type, client_id e redirect_uri e poi solleva OnAuthorizeRequest per la tua UI di login basata su sessione utente.
POST /token emette access + refresh token per i grant authorization_code, refresh_token e client_credentials. Il code_verifier PKCE viene verificato secondo la RFC 7636.
Facoltativamente emetti access token JWT self-contained (HS o RS / ES) in modo che i resource server possano convalidarli senza un round-trip di introspection.
Quando ProviderOptions.RefreshToken.Rotation è abilitato, ogni refresh emette un nuovo refresh token e invalida il precedente — in linea con le best practice di OAuth 2.1.
POST /revoke invalida un access o un refresh token secondo la RFC 7009 — supporta sia le revoche dei Bearer sia quelle dei client_credentials.
OnLookupClient, OnPersistAuthCode, OnPersistRefreshToken e simili ti permettono di backare il provider con FireDAC, SQLite, Redis o il tuo DAL.
Fonti autorevoli per gli standard implementati da questo componente.
Vai al riferimento del componente, scarica il progetto demo pronto all'uso e prova la versione trial.
| Guida online — TsgcHTTP_OAuth2_Server_Provider Riferimento completo di proprietà, metodi ed eventi per questo componente. | Apri | |
| Progetto demo — Demos\20.HTTP_Protocol\08.OAuth2_ServerProvider Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto. | Apri | |
| Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo per questo componente. | Apri | |
| Manuale utente (PDF) Manuale completo che copre tutti i componenti della libreria. | Apri |