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.

TsgcHTTP_OAuth2_Server_Provider

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.

Classe du composant

TsgcHTTP_OAuth2_Server_Provider

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Enterprise

Pose, configure les clients, lance

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;

Ce qu’il y a à l’intérieur

Un serveur d'autorisation auto-hébergé — tout, de /authorize à la rotation des refresh tokens, dans un seul composant Delphi.

Endpoint authorize

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.

Endpoint token

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.

Tokens d'accès signés JWT

É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.

Rotation des refresh tokens

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.

Endpoint de révocation

POST /revoke invalide un token d'accès ou de refresh selon la RFC 7009 — honore les révocations Bearer et client_credentials.

Stockage enfichable

OnLookupClient, OnPersistAuthCode, OnPersistRefreshToken et compagnie te permettent d'adosser le provider à FireDAC, SQLite, Redis ou ta propre DAL.

Spécifications et références

Sources de référence pour les standards implémentés par ce composant.

Documentation et démos

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.
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.
Document technique (PDF) Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only.
Manuel utilisateur (PDF) Manuel exhaustif couvrant chaque composant de la bibliothèque.

Prêt à faire tourner ton propre provider OAuth 2.0 ?

Télécharge l'essai gratuit et monte un serveur d'autorisation OAuth 2.0 en Delphi.