Client only
If you are signing users in to somebody else's identity provider, Google, Microsoft, Auth0, Okta, Keycloak, AWS Cognito, your own corporate SSO, you need nothing but TsgcHTTP_OAuth2_Client. That component is compiled into the Standard edition and every edition above it. It is also available on its own in the standalone sgcAuth package, bundled with the runtime it needs.
This is the common case, and it is the whole of this page up to here.
When you also need a server
You need the server half only when your own application is the authorization server: you issue the client ids, you host the sign-in page, you mint and revoke the access tokens that your API then trusts. That is TsgcHTTP_OAuth2_Server, attached to a TsgcWebSocketHTTPServer, and it is an Enterprise component.
It verifies PKCE by default. OAuth2Options.PKCE is True out of the box, so a client that sends a challenge must produce a matching verifier, and one that does not is refused. Register client applications with Apps.AddApp, authenticate users in OnOAuth2Authentication, and restore tokens across a restart with AddToken.
The same Enterprise tier carries TsgcHTTP_JWT_Server for validating JWT bearer tokens on your endpoints and TsgcWSAPIServer_WebAuthn for passkeys. The matching clients, TsgcHTTP_OAuth2_Client and TsgcHTTP_JWT_Client, are Standard and up. Client and server sit in different edition tiers, which is worth checking before you plan around either.