Provider OAuth 2.0
Monte ton propre serveur d'autorisation OAuth 2.0 en Delphi. Endpoints authorize, token, refresh et revoke avec PKCE, tokens d'accès JWT signés et stockage enfichable.
Monte ton propre serveur d'autorisation OAuth 2.0 en Delphi. Endpoints authorize, token, refresh et revoke avec PKCE, tokens d'accès JWT signés et stockage enfichable.
Implémentation complète de serveur d'autorisation OAuth 2.0 : enregistre les clients, émet des codes d'autorisation, les échange contre des tokens d'accès et de refresh, signe les JWTs et prend en charge PKCE, rotation de refresh et révocation.
TsgcHTTP_OAuth2_Server_Provider
Windows, macOS, Linux, iOS, Android
Enterprise
Pose un TsgcHTTP_OAuth2_Server_Provider, enregistre tes client_ids et redirect_uris, attache à TsgcWebSocketHTTPServer — les endpoints standard (/authorize, /token, /revoke) deviennent disponibles.
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;
Un serveur d'autorisation auto-hébergé — tout, de /authorize à la rotation des refresh tokens, dans un seul composant Delphi.
Gère les requêtes GET /authorize, valide response_type, client_id et redirect_uri, puis déclenche OnAuthorizeRequest pour ton UI de connexion utilisateur.
POST /token émet des tokens d'accès et de refresh pour les grants authorization_code, refresh_token et client_credentials. PKCE code_verifier est vérifié selon la RFC 7636.
Émet optionnellement des tokens d'accès JWT auto-contenus (HS ou RS / ES) pour que les resource servers puissent valider sans aller-retour d'introspection.
Quand ProviderOptions.RefreshToken.Rotation est activé, chaque refresh émet un nouveau refresh token et invalide le précédent — aligné sur les bonnes pratiques OAuth 2.1.
POST /revoke invalide un token d'accès ou de refresh selon la RFC 7009 — honore les révocations Bearer et client_credentials.
OnLookupClient, OnPersistAuthCode, OnPersistRefreshToken et compagnie te permettent d'adosser le provider à FireDAC, SQLite, Redis ou ta propre DAL.
Sources de référence pour les standards implémentés par ce composant.
Lien direct vers la référence du composant, récupère le projet de démo prêt à exécuter et télécharge l’essai.
| Aide en ligne — TsgcHTTP_OAuth2_Server_Provider Référence complète des propriétés, méthodes et événements de ce composant. | Ouvrir | |
| Projet de démo — Demos\20.HTTP_Protocol\08.OAuth2_ServerProvider Projet d’exemple prêt à exécuter. Livré dans le paquet sgcWebSockets — télécharge l’essai ci-dessous. | Ouvrir | |
| Document technique (PDF) Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only. | Ouvrir | |
| Manuel utilisateur (PDF) Manuel exhaustif couvrant chaque composant de la bibliothèque. | Ouvrir |