Nur Client
Wenn du Nutzer bei einem fremden Identitätsanbieter anmeldest, bei Google, Microsoft, Auth0, Okta, Keycloak, AWS Cognito oder deinem eigenen Unternehmens-SSO, brauchst du nichts außer TsgcHTTP_OAuth2_Client. Diese Komponente ist in der Edition Standard und jeder Edition darüber einkompiliert. Es gibt sie auch einzeln im eigenständigen Paket sgcAuth, gebündelt mit der Runtime, die es braucht.
Das ist der übliche Fall, und es ist alles, worum es auf dieser Seite bis hierher ging.
Wann du auch einen Server brauchst
Die Server-Hälfte brauchst du nur, wenn deine eigene Anwendung der Autorisierungsserver ist: Du gibst die Client-IDs aus, du hostest die Anmeldeseite, du prägst und widerrufst die Access Tokens, denen deine API dann vertraut. Das ist TsgcHTTP_OAuth2_Server, angehängt an einen TsgcWebSocketHTTPServer, und es ist eine Enterprise-Komponente.
Es prüft PKCE standardmäßig. OAuth2Options.PKCE ist True ab Werk, ein Client, der eine Challenge schickt, muss also einen passenden Verifier liefern, und einer, der das nicht tut, wird abgewiesen. Registriere Client-Anwendungen mit Apps.AddApp, authentifiziere Nutzer in OnOAuth2Authentication und stelle Tokens über einen Neustart hinweg mit AddToken wieder her.
Dieselbe Enterprise-Stufe bringt TsgcHTTP_JWT_Server für die Prüfung von JWT-Bearer-Tokens an deinen Endpunkten und TsgcWSAPIServer_WebAuthn für Passkeys. Die passenden Clients, TsgcHTTP_OAuth2_Client und TsgcHTTP_JWT_Client sind ab Standard dabei. Client und Server liegen in verschiedenen Editionsstufen, das lohnt eine Prüfung, bevor du um eines von beiden herum planst.