OAuth 2.0 Server

Ochrona serwerowa OAuth 2.0 dla serwerów HTTP i WebSocket w sgcWebSockets. Weryfikuj tokeny dostępu przez walidację JWT lub introspekcję RFC 7662.

TsgcHTTP_OAuth2_Server

Lekki komponent serwera zasobów — weryfikuje przychodzące tokeny Bearer przez sprawdzenie podpisu JWT lub introspekcję tokenów RFC 7662, a następnie udostępnia sparsowane roszczenia Twojej aplikacji.

Klasa komponentu

TsgcHTTP_OAuth2_Server

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Enterprise

Dodaj, podłącz do serwera, akceptuj tokeny

Skonfiguruj klucz JWT (lub URL introspekcji), a następnie podłącz do TsgcWebSocketHTTPServer.OAuth2 — przychodzące żądania są weryfikowane tokenem przed wywołaniem Twojego handlera.

uses
  sgcWebSocket, sgcHTTP;

var
  Server: TsgcWebSocketHTTPServer;
  OAuth2: TsgcHTTP_OAuth2_Server;
begin
  OAuth2 := TsgcHTTP_OAuth2_Server.Create(nil);
  OAuth2.OAuth2Options.JWT.Algorithms.HS.Secret := 'shared-secret';

  Server := TsgcWebSocketHTTPServer.Create(nil);
  Server.Port := 8443;
  Server.SSL  := True;
  Server.Authentication.OAuth2.Enabled := True;
  Server.Authentication.OAuth2.Server  := OAuth2;

  Server.Active := True;
end;
// uses: sgcWebSocket, sgcHTTP
TsgcHTTP_OAuth2_Server *OAuth2 = new TsgcHTTP_OAuth2_Server(this);
OAuth2->OAuth2Options->JWT->Algorithms->HS->Secret = "shared-secret";

TsgcWebSocketHTTPServer *Server = new TsgcWebSocketHTTPServer(this);
Server->Authentication->OAuth2->Enabled = true;
Server->Authentication->OAuth2->Server  = OAuth2;
Server->Active = true;

Co jest w środku

Komponent serwera zasobów chroniący punkty końcowe HTTP i WebSocket tokenami dostępu weryfikowanymi przez JWT lub introspekcję.

Walidacja JWT

Wbudowany weryfikator JWT (HS / RS / ES / EdDSA) działający w oparciu o klucz statyczny lub punkt końcowy JWKS — bez dodatkowego połączenia z wystawcą dla tokenów samodzielnych.

Introspekcja tokenów

Ustaw OAuth2Options.IntrospectionURL zgodnie z RFC 7662 — komponent wysyła przychodzący token do wystawcy metodą POST i buforuje wynik aktywny/nieaktywny z TTL.

Wymuszanie zakresu

Przypisz OAuth2Options.RequiredScope, aby ograniczyć dostęp do tokenów zawierających wybrany zakres. OnAuthError raportuje powód odrzucenia.

Obsługa WebSocket

Działa zarówno z żądaniami HTTP, jak i z uaktualnieniami WebSocket — nagłówek Authorization uaktualnienia (lub token w zapytaniu) jest weryfikowany przed OnConnect.

Hook OnVerify

Zaimplementuj OnVerify do własnych sprawdzeń roszczeń (wielodostępne aud, dynamiczne mapowanie zakresu, status konta). Zwróć Accept = False, aby przerwać przetwarzanie kodem 401.

Serwer dostawcy

TsgcHTTP_OAuth2_Server_Provider zamienia ten komponent w pełny serwer autoryzacji (wystawcę): punkty końcowe autoryzacji, tokenów i odwołania z trwałym przechowywaniem klientów i tokenów odświeżania.

Specyfikacje i odniesienia

Autorytatywne źródła standardów implementowanych przez ten komponent.

Dokumentacja i dema

Przejdź bezpośrednio do dokumentacji komponentu, pobierz gotowy do uruchomienia projekt demonstracyjny i pobierz wersję próbną.

Pomoc online — TsgcHTTP_OAuth2_Server Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu.
Projekt demonstracyjny — Demos\20.HTTP_Protocol\02.OAuth2_Authentication Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.

Gotowy, żeby chronić API za pomocą OAuth 2.0?

Pobierz bezpłatną wersję próbną i dodaj walidację tokenów OAuth 2.0 do swoich serwerów Delphi.