TsgcHTTP_OAuth2_Server_Provider

Diese Komponente ermöglicht es Ihnen, externe OAuth2-Anbieter (wie Azure AD, Google, Facebook) zu integrieren.

Einführung

Diese Komponente ermöglicht es Ihnen, externe OAuth2-Anbieter (wie Azure AD, Google, Facebook...) in Ihre Server-Komponente (wie einen HTTP-Server) zu integrieren, sodass sich ein Benutzer mit den Azure-AD-Anmeldedaten anmelden kann, und wenn die Authentifizierung erfolgreich ist, kann der HTTP-Server Zugriff auf geschützte Ressourcen gewähren.

 

Die Server-Komponenten haben eine Eigenschaft namens Authorization.OAuth.OAuth2Provider, der Sie eine Instanz von TsgcHTTP_OAuth2_Server_Provider zuweisen können; wenn die Authentifizierung aktiviert ist und die OAuth2Provider-Eigenschaft an die OAuth2-Provider-Server-Komponente angehängt ist, erfordern die WebSocket- und HTTP-Anfragen ein Cookie / Bearer-Token zur Verarbeitung; andernfalls wird die Verbindung automatisch geschlossen.


    OAuth2Provider := TsgcHTTP_OAuth2_Server_Provider.Create(nil);
    Server.Authentication.Enabled := True;
    Server.Authentication.OAuth.OAuth2Provider := OAuth2Provider;

 

OAuth2-Provider registrieren

Bevor der Server gestartet wird, müssen Sie die OAuth2-Provider konfigurieren, die der Server zur Authentifizierung verwenden wird. Verwenden Sie die Methode RegisterProvider, um die OAuth2-Provider zu konfigurieren; diese Methode hat die folgenden Parameter:

 

 

Beispiel: Um Azure AD zu konfigurieren, ist eine Tenant-ID erforderlich, die zu den OAuth2-URLs hinzugefügt wird, sowie ClientId, ClientSecret, Scope und eine CallbackURL.

 

RegisterProvider(
'azure',
'90945b8d-f6b7-4b97-b2bd-21c3c90b5f3x',
'PN67Q~5m06c-~X_GMyMf9zMntmm5l2dt~3jVq',
'https://login.microsoftonline.com/a0ca2055-5dd1-467f-bf13-291f6fd715c6/oauth2/v2.0/authorize',
'https://login.microsoftonline.com/a0ca2055-5dd1-467f-bf13-291f6fd715c6/oauth2/v2.0/token',
'user.read',
'/login',
'https://localhost/callback'
);

 

Um einen vorhandenen Provider zu löschen, verwenden Sie die Methode UnRegisterProvider.

Referenz

Leitfäden