Solo client
Se stai autenticando utenti sull'identity provider di qualcun altro, Google, Microsoft, Auth0, Okta, Keycloak, AWS Cognito, l'SSO della tua azienda, non ti serve altro che TsgcHTTP_OAuth2_Client. Quel componente è compilato nell'edizione Standard e in tutte le edizioni superiori. È disponibile anche da solo nel pacchetto autonomo sgcAuth, con il runtime di cui ha bisogno già incluso.
È il caso più comune, ed è tutto ciò di cui parla questa pagina fino a qui.
Quando ti serve anche un server
Ti serve la metà server solo quando è la tua applicazione a fare da authorization server: emetti tu i client id, ospiti tu la pagina di accesso, generi e revochi tu gli access token di cui la tua API si fida. È TsgcHTTP_OAuth2_Server, collegato a un TsgcWebSocketHTTPServer, ed è un componente Enterprise.
Verifica PKCE per impostazione predefinita. OAuth2Options.PKCE è True fin da subito, quindi un client che invia un challenge deve produrre un verifier corrispondente, e chi non lo fa viene rifiutato. Registra le applicazioni client con Apps.AddApp, autentica gli utenti in OnOAuth2Authentication e ripristina i token dopo un riavvio con AddToken.
Lo stesso livello Enterprise porta TsgcHTTP_JWT_Server per validare i bearer token JWT sui tuoi endpoint e TsgcWSAPIServer_WebAuthn per le passkey. I client corrispondenti, TsgcHTTP_OAuth2_Client e TsgcHTTP_JWT_Client, sono disponibili da Standard in su. Client e server stanno in livelli di edizione diversi, e vale la pena verificarlo prima di impostare un piano su uno dei due.