Tylko klient
Jeśli logujesz użytkowników do cudzego dostawcy tożsamości, Google, Microsoft, Auth0, Okta, Keycloak, AWS Cognito, własnego firmowego SSO, nie potrzebujesz nic poza TsgcHTTP_OAuth2_Client. Ten komponent jest wkompilowany w edycję Standard i każdą edycję wyższą. Jest też dostępny osobno w samodzielnym pakiecie sgcAuth, razem z potrzebnym mu środowiskiem uruchomieniowym.
To najczęstszy przypadek i wypełnia on całą tę stronę aż do tego miejsca.
Kiedy potrzebujesz także serwera
Serwerowa połowa jest potrzebna tylko wtedy, gdy to twoja własna aplikacja jest serwerem autoryzacji: to ty wydajesz client id, ty hostujesz stronę logowania, ty tworzysz i unieważniasz tokeny dostępu, którym potem ufa twoje API. To TsgcHTTP_OAuth2_Server, podłączony do TsgcWebSocketHTTPServer, i jest to komponent Enterprise.
Domyślnie weryfikuje PKCE. OAuth2Options.PKCE ma zaraz po instalacji wartość True, więc klient, który wysyła challenge, musi przedstawić pasujący verifier, a ten, który tego nie zrobi, zostaje odrzucony. Rejestruj aplikacje klienckie przez Apps.AddApp, uwierzytelniaj użytkowników w OnOAuth2Authentication i odtwarzaj tokeny po restarcie przez AddToken.
Ten sam poziom Enterprise zawiera TsgcHTTP_JWT_Server do walidacji tokenów bearer JWT na twoich endpointach oraz TsgcWSAPIServer_WebAuthn dla passkeys. Odpowiadające im klienty, TsgcHTTP_OAuth2_Client i TsgcHTTP_JWT_Client, są dostępne od Standard w górę. Klient i serwer leżą na różnych poziomach edycji, co warto sprawdzić, zanim zaplanujesz cokolwiek wokół któregokolwiek z nich.