Solo cliente
Si estás iniciando la sesión de tus usuarios en el proveedor de identidad de otro, Google, Microsoft, Auth0, Okta, Keycloak, AWS Cognito, el SSO corporativo propio, no necesitas nada más que TsgcHTTP_OAuth2_Client. Ese componente se compila en la edición Standard y en todas las ediciones por encima de ella. También está disponible por su cuenta en el paquete independiente sgcAuth, con el runtime que necesita ya incluido.
Este es el caso habitual, y es todo lo que cuenta esta página hasta aquí.
Cuándo necesitas además un servidor
Necesitas la mitad de servidor solo cuando tu propia aplicación es el servidor de autorización: tú emites los client ids, tú alojas la página de inicio de sesión, tú acuñas y revocas los access tokens en los que después confía tu API. Eso es TsgcHTTP_OAuth2_Server, enganchado a un TsgcWebSocketHTTPServer, y es un componente Enterprise.
Verifica PKCE por defecto. OAuth2Options.PKCE vale True de fábrica, así que un cliente que envía un challenge tiene que producir un verifier que coincida, y el que no lo hace es rechazado. Registra aplicaciones cliente con Apps.AddApp, autentica usuarios en OnOAuth2Authentication, y restaura tokens entre reinicios con AddToken.
El mismo nivel Enterprise incluye TsgcHTTP_JWT_Server para validar tokens JWT de portador en tus endpoints y TsgcWSAPIServer_WebAuthn para passkeys. Los clientes, TsgcHTTP_OAuth2_Client y TsgcHTTP_JWT_Client, correspondientes son de Standard en adelante. Cliente y servidor están en niveles de edición distintos, algo que conviene comprobar antes de planificar con cualquiera de los dos.