Client seul
Si tu connectes des utilisateurs au fournisseur d'identité de quelqu'un d'autre, Google, Microsoft, Auth0, Okta, Keycloak, AWS Cognito, le SSO de ton entreprise, tu n'as besoin de rien d'autre que de TsgcHTTP_OAuth2_Client. Ce composant est compilé dans l'édition Standard et dans toutes les éditions au-dessus. Il est aussi disponible seul dans le package autonome sgcAuth, livré avec le runtime dont il a besoin.
C'est le cas courant, et c'est tout le contenu de cette page jusqu'ici.
Quand il te faut aussi un serveur
Tu n'as besoin de la moitié serveur que lorsque ta propre application est le serveur d'autorisation : c'est toi qui émets les identifiants clients, qui héberges la page de connexion, qui fabriques et révoques les jetons d'accès auxquels ton API fait ensuite confiance. C'est TsgcHTTP_OAuth2_Server, rattaché à un TsgcWebSocketHTTPServer, et c'est un composant Enterprise.
Il vérifie PKCE par défaut. OAuth2Options.PKCE vaut True dès le départ, si bien qu'un client qui envoie un challenge doit produire un verifier correspondant, et celui qui n'en produit pas est refusé. Enregistre les applications clientes avec Apps.AddApp, authentifie les utilisateurs dans OnOAuth2Authentication, et restaure les jetons après un redémarrage avec AddToken.
Le même niveau Enterprise apporte TsgcHTTP_JWT_Server pour valider les jetons bearer JWT sur tes endpoints et TsgcWSAPIServer_WebAuthn pour les passkeys. Les clients, TsgcHTTP_OAuth2_Client et TsgcHTTP_JWT_Clientcorrespondants sont disponibles à partir de Standard. Client et serveur se situent dans des niveaux d'édition différents, ce qui mérite une vérification avant de bâtir un plan autour de l'un ou de l'autre.