TsgcHTTP_OAuth2_Server

Diese Komponente bietet die OAuth2-Protokollimplementierung in serverseitigen Komponenten.

Einführung

Diese Komponente bietet die OAuth2-Protokollimplementierung in serverseitigen Komponenten.

Die Server-Komponenten haben eine Eigenschaft namens Authorization.OAuth.OAuth2, der Sie eine Instanz von TsgcHTTP_OAuth2_Server zuweisen können. Wenn also Authentication aktiviert ist und die OAuth2-Eigenschaft an die OAuth2-Server-Komponente angehängt ist, benötigen die WebSocket- und HTTP-Requests ein Bearer-Token, um verarbeitet zu werden; andernfalls wird die Verbindung automatisch geschlossen.


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

Der Server unterstützt die folgenden Autorisierungstypen:

Der Autorisierungstyp kann bei der Registrierung der App angepasst werden. Standardmäßig werden alle Autorisierungstypen unterstützt.

EndPoints

Standardmäßig ist die Komponente mit den folgenden Endpunkten konfiguriert, um Autorisierungs- und Token-Anfragen zu behandeln

Authorization: /sgc/oauth2/auth

Token: /sgc/oauth2/token

Revocation: /sgc/oauth2/revoke

Introspection: /sgc/oauth2/introspect

Device Authorization: /sgc/oauth2/device

Device Verification: /sgc/oauth2/device/verify

Wenn der Server also auf Port 443 lauscht und die Domain www.esegece.com ist, sind die EndPoints:

Authorization: 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

Device Verification: https://www.esegece.com/sgc/oauth2/device/verify

Die Endpunkte können in der Eigenschaft OAuth2Options konfiguriert werden.

Standardmäßig ist PKCE (eine Erweiterung des Authorization-Code-Flows zur Verhinderung von CSRF- und Authorization-Code-Injection-Angriffen) aktiviert.

Konfiguration

Bevor Sie den OAuth2-Prozess starten können, müssen Sie registrieren, welche Apps verfügbar sein werden; dies geschieht über die Apps-Eigenschaft der OAuth2-Server-Komponente.

App registrieren

Verwenden Sie Apps.AddApp, um eine neue Anwendung zum OAuth2-Server hinzuzufügen; Sie müssen die folgenden Parameter setzen:

Optional können Sie die folgenden Parameter festlegen:

App löschen

Verwenden Sie Apps.RemoveApp, um eine vorhandene App zu löschen.

AddToken

Wenn der Server neu gestartet wurde, während einige Tokens ausgegeben waren, können Sie diese Tokens mit der Methode AddToken wiederherstellen, bevor Sie den OAuth2-Server starten und nachdem Sie die Apps registriert haben

RemoveToken

Entfernt ein bereits ausgegebenes Token.

OAuth2Options

Die Eigenschaft OAuth2Options ermöglicht die Konfiguration der Server-Endpunkte und optionaler Funktionen.

Revocation

Token-Widerruf gemäß RFC 7009. Wenn aktiviert, können Clients zuvor ausgestellte Access- oder Refresh-Tokens widerrufen.

Introspection

Token-Introspektion gemäß RFC 7662. Wenn aktiviert, können Resource Server den Autorisierungsserver abfragen, um den aktiven Zustand und die Metadaten eines Tokens zu ermitteln.

DeviceAuthorization

Device Authorization Grant gemäß RFC 8628. Wenn aktiviert, können Geräte mit eingeschränkter Eingabe eine Autorisierung anfordern, indem der Benutzer die Autorisierung auf einem Zweitgerät vornimmt.

 

Referenz

Leitfäden