TsgcHTTP_OAuth2_Server

Ten komponent zapewnia implementację protokołu OAuth2 w komponentach po stronie serwera.

Wprowadzenie

Ten komponent zapewnia implementację protokołu OAuth2 w komponentach po stronie serwera.

Komponenty serwera posiadają właściwość Authorization.OAuth.OAuth2, do której można przypisać instancję TsgcHTTP_OAuth2_Server. Gdy uwierzytelnianie jest włączone i właściwość OAuth2 jest podłączona do komponentu serwera OAuth2, żądania WebSocket i HTTP wymagają tokenu Bearer do przetworzenia; w przeciwnym razie połączenie jest automatycznie zamykane.


    OAuth2 := TsgcHTTP_OAuth2_Server.Create(nil);
    Server.Authentication.Enabled := True;
    Server.Authentication.OAuth.OAuth2 := OAuth2;

Serwer obsługuje następujące typy autoryzacji:

Typ autoryzacji można dostosować podczas rejestracji aplikacji; domyślnie obsługiwane są wszystkie typy autoryzacji.

EndPoints

Domyślnie komponent jest skonfigurowany z następującymi punktami końcowymi do obsługi żądań autoryzacji i tokenów

Autoryzacja: /sgc/oauth2/auth

Token: /sgc/oauth2/token

Revocation: /sgc/oauth2/revoke

Introspection: /sgc/oauth2/introspect

Autoryzacja urządzenia: /sgc/oauth2/device

Weryfikacja urządzenia: /sgc/oauth2/device/verify

Jeśli więc serwer nasłuchuje na porcie 443, a domena to www.esegece.com, punkty końcowe będą następujące:

Autoryzacja: https://www.esegece.com/sgc/oauth2/auth

Token: https://www.esegece.com/sgc/oauth2/token

Revocation: https://www.esegece.com/sgc/oauth2/revoke

Introspection: https://www.esegece.com/sgc/oauth2/introspect

Device Authorization: https://www.esegece.com/sgc/oauth2/device

Weryfikacja urządzenia: https://www.esegece.com/sgc/oauth2/device/verify

Punkty końcowe można skonfigurować we właściwości OAuth2Options.

Domyślnie włączone jest rozszerzenie PKCE (rozszerzenie przepływu kodu autoryzacji zapobiegające atakom CSRF i wstrzykiwaniu kodu autoryzacji).

Konfiguracja

Przed rozpoczęciem procesu OAuth2 należy zarejestrować aplikacje, które będą dostępne; operację tę wykonuje się przy użyciu właściwości Apps komponentu serwera OAuth2.

Rejestracja aplikacji

Użyj Apps.AddApp, aby dodać nową aplikację do serwera OAuth2; należy ustawić następujące parametry:

Opcjonalnie można ustawić następujące parametry:

Usuwanie aplikacji

Użyj metody Apps.RemoveApp, aby usunąć istniejącą aplikację.

AddToken

Jeśli serwer został ponownie uruchomiony w trakcie wydawania tokenów, można odzyskać te tokeny za pomocą metody AddToken przed uruchomieniem serwera OAuth2 i po zarejestrowaniu aplikacji

RemoveToken

Usuwa już wydany token.

OAuth2Options

Właściwość OAuth2Options umożliwia konfigurację punktów końcowych serwera i opcjonalnych funkcji.

Odwołanie

Unieważnianie tokenów zgodnie z RFC 7009. Po włączeniu klienci mogą unieważniać wcześniej wydane tokeny dostępu lub odświeżania.

Introspekcja

Introspekcja tokenu zgodnie z RFC 7662. Po włączeniu serwery zasobów mogą odpytywać serwer autoryzacji w celu ustalenia aktywnego stanu i metadanych tokenu.

DeviceAuthorization

Device Authorization Grant zgodnie z RFC 8628. Po włączeniu urządzenia z ograniczeniami wejścia mogą żądać autoryzacji, umożliwiając użytkownikowi autoryzację na urządzeniu pomocniczym.

 

Dokumentacja

Przewodniki